Dilution factor calculator
Find how many times a stock gets diluted and how much diluent to add: 1 mL brought up to 10 mL is a tenfold dilution with 9 mL of diluent, a 1:9 mix. Equal volumes give a factor of 1. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Volume of stock solution
- 1
- Final volume
- 10
- Diluent volume
- 9
- Dilution factor
- 10
- Fold dilution
- 10
- Volume ratio
- 1:9
This dilution factor calculator finds how much a stock solution is diluted when you take a known aliquot volume and bring it up to a larger final volume. The dilution factor is the dimensionless ratio DF equals V_final over V_stock, which is the same number people mean by an N-fold dilution: a ten-fold dilution multiplies the volume by ten and divides concentration by ten when solute amount is conserved. You enter the stock aliquot volume and the final total volume in any consistent unit (millilitres, microlitres, or litres), and the engine returns the dilution factor, fold dilution, diluent volume equal to final minus stock, and a simple one-to-parts diluent volume ratio. Classic checks include one millilitre of stock diluted to ten millilitres for a ten-fold dilution, and two millilitres left undiluted at two millilitres for a factor of one. The path is pure deterministic arithmetic with no network, randomness, or date-dependent shortcuts.
What a dilution factor tells you
Dilution factor is the ratio of the final solution volume to the volume of stock aliquot you started with, written DF equals V_final divided by V_stock. When solute amount is conserved during dilution, concentration falls by the same factor: C_final equals C_stock over DF. Fold dilution is simply that same DF expressed as language people use at the bench: a five-fold dilution means DF equals five, so you end with five times the starting volume after adding diluent.
Diluent volume is the difference V_final minus V_stock, the amount of solvent or blank you must add to reach the mark. Volume ratio is reported as one part stock to DF minus one parts diluent, which is the familiar one-to-nine phrasing for a ten-fold dilution of one part stock plus nine parts diluent. There is no concentration field in the output and no automatic millilitre-to-litre conversion: you choose any volume unit as long as stock and final match.
Where dilution factor fits in study, lab work, and software
Students meet DF equals V_final over V_stock when a textbook introduces simple dilution, when a homework problem asks for fold dilution after bringing one millilitre to a ten-millilitre mark, or when a protocol labels a working solution as a hundred-fold dilution of a stock. Teachers can pre-generate answer keys for lab manuals without trusting opaque apps that confuse dilution factor with concentration ratio notation or silently mix millilitres and litres.
Lab technicians and preparers use the same definition when a standard operating procedure says dilute one part stock with nine parts buffer: confirm DF equals ten, diluent equals nine times the aliquot, and volume ratio one-to-nine before filling tubes. Developers call the same contract from scripts to seed deterministic test vectors for chemistry tutors, to normalize user-entered dilution parameters before a lab notebook export, or to satisfy programming-challenge statements that demand DF and fold rather than a hand-waved sketch.
What you can do with it
Homework and lab checks
Compute DF and fold dilution from stock and final volumes before grading worksheets or preparing working solutions.
Protocol and tutoring software
Normalize user-entered aliquot and final volumes into fold dilution and diluent volume for interactive lab helpers.
FAQ
What does the dilution factor calculator cost?
It is free in your browser on this page.
How is dilution factor defined?
DF = V_final / V_stock using the same volume unit for both.
What if final volume is smaller than stock volume?
A smaller final volume would be a concentration step, not a dilution.
Does this tool compute final concentration?
No. It only returns the dilution factor, fold dilution, diluent volume, and volume ratio from the two volumes. Use C_final = C_stock / DF separately if you know stock concentration.
Must stock and final volumes use the same unit?
Yes. Both must be in the same unit (for example both mL or both µL). The dilution factor is dimensionless, so mixed units would give a wrong DF.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/chem/dilution-factor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"stock_volume":1,"final_volume":10}'const res = await fetch("https://api.kit.forhosting.com/chem/dilution-factor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"stock_volume": 1,
"final_volume": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/dilution-factor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"stock_volume": 1,
"final_volume": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/dilution-factor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"stock_volume":1,"final_volume":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"stock_volume":1,"final_volume":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/dilution-factor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"stock_volume": 1,
"final_volume": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.dilution_factor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs_value | 1000000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
What dilution factor means and what the response contains
This calculator returns stock_volume and final_volume as normalized numbers, diluent_volume, dilution_factor, fold_dilution, a volume_ratio string, a method tag dilution_factor, the precision used, a short formula reminder, and a unit_note that both volumes must share the same unit because DF itself is dimensionless. The engine either evaluates the closed-form ratio inside the supported numeric range or rejects the input with invalid_input. Rejected cases include missing volumes, non-finite values, magnitudes above the documented ceiling, zero or negative volumes, and any final volume smaller than the stock aliquot, because that would describe a concentration step rather than a dilution.
How stock and final volumes are read and how results stay reproducible
Final volume must be greater than or equal to stock volume: equality yields DF equals one, which is a valid no-dilution check, while a smaller final volume is rejected as non-physical for dilution. Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; embedded spaces and non-numeric tokens are rejected. The preferred field for the aliquot taken from the stock bottle is stock_volume, but aliases stock, V_stock, V1, v1, aliquot, stock_vol, and volume_stock are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. The preferred field for the total volume after dilution is final_volume, with aliases final, V_final, V2, v2, total, total_volume, and volume_final. Both must be finite positive numbers; zero or negative stock or final volumes fail with invalid_input and a message that names the field so a bad cell does not become a silent infinity. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for the numeric outputs, defaulting to ten and capped at fifteen so JSON goldens stay stable. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing the dilution factor formula yourself.
Where dilution factor fits in study, lab work, and software
Product and education tools use the endpoint when a learner types stock and final volumes and the UI must show fold dilution with a clear ratio string. On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result. Pair it with molar concentration or stoichiometry helpers when you need related solution quantities, and with other science endpoints when you are building a small lab of free, deterministic chemistry calculators.
Integration use cases
Deterministic test fixtures
Generate reproducible dilution_factor and volume_ratio values for unit tests, chemistry tutors, and CI assertions.