ForHosting KIT · Science

Stock solution volume calculator

To make 100 mL of a 1 M solution from a 10 M stock, take 10 mL of stock and add 90 mL of diluent. Enter the stock concentration, the target and the final volume to get the aliquot, the diluent and the dilution factor. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Stock concentration
10
Desired concentration
1
Final volume
100
You get
Stock volume
10
Diluent volume
90
Dilution factor
10
Precision
10

This stock solution volume calculator tells you how much concentrated stock to pipette when you already know the bottle concentration, the working concentration you need, and the final volume of the diluted solution. The engine applies the classic conservation relation C1 times V1 equals C2 times V2, rearranging to V_stock equals C_desired times V_final divided by C_stock, then reports diluent volume and dilution factor in the same request. Enter any consistent concentration unit for stock and desired (molar, millimolar, percent, or milligrams per millilitre) and any consistent volume unit for the final mark (microlitres, millilitres, or litres); the returned stock volume uses that same volume unit. Classic checks include diluting a ten-molar stock to one molar in one hundred millilitres, which takes ten millilitres of stock and ninety millilitres of diluent, and a no-dilution case where stock and desired concentrations match so the whole final volume comes from the stock bottle. Zero stock concentration is rejected because division by zero is undefined. The path is pure deterministic arithmetic with no network, randomness, or date-dependent shortcuts.

What the stock volume tells you

Stock solution volume is the aliquot you take from a more concentrated bottle so that, after adding diluent up to a final mark, the working concentration matches a protocol target. The defining relation is conservation of solute amount under simple dilution: C_stock times V_stock equals C_desired times V_final, which rearranges to V_stock equals C_desired times V_final over C_stock when stock concentration is non-zero. Diluent volume is the difference V_final minus V_stock, the amount of solvent or blank buffer you must add to reach the mark.

Dilution factor is reported as C_stock over C_desired, which equals V_final over V_stock when solute is conserved and both concentrations are positive; a ten-fold dilution means the stock is ten times more concentrated than the working solution. There is no automatic millilitre-to-litre or molar-to-millimolar conversion: you choose units and keep them consistent. If you only know two volumes and need the dimensionless dilution factor, use the dedicated dilution-factor tool; this page answers the concentration-driven question of how much stock volume to take for a given final working solution.

Homework and lab prep

Compute how many millilitres of stock to take for a working concentration and flask volume before grading or filling a volumetric flask.

Protocol and tutoring software

Normalize user-entered C1, C2, and V2 into aliquot and diluent volumes for interactive lab helpers.

What does the stock solution volume calculator cost?

It is free in your browser on this page.

How is stock volume calculated?

From C1V1 = C2V2: V_stock = C_desired × V_final / C_stock, using the same concentration unit for C1 and C2 and returning V_stock in the same volume unit as V_final.

What if stock concentration is zero?

Division by zero is undefined; a stock bottle with zero concentration cannot set a positive working concentration by dilution.

Can desired concentration be higher than stock?

No. A simple dilution cannot raise concentration. Desired concentration must be less than or equal to stock concentration.

How much diluent do I need to add?

The final volume minus the stock volume. Diluting a 10 M stock to 1 M in 100 mL takes 10 mL of stock, so you add 90 mL of solvent or buffer up to the mark.

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.

POSThttps://api.kit.forhosting.com/chem/stock-solution-volume

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.

curl -X POST https://api.kit.forhosting.com/chem/stock-solution-volume \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"stock_concentration":10,"desired_concentration":1,"final_volume":100}'
{
  "stock_concentration": 10,
  "desired_concentration": 1,
  "final_volume": 100
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "chem.stock_solution_volume",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_abs_value1000000000000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

What stock solution volume means and what the response contains

This calculator returns the three normalized inputs, stock_volume, diluent_volume, dilution_factor, a method tag c1v1_c2v2, the precision used, a short formula reminder, and a unit_note that concentrations share one unit and volumes share another. The engine either evaluates the closed-form quotient inside the supported numeric range or rejects the input with invalid_input. Rejected cases include missing fields, non-finite values, magnitudes above the documented ceiling, zero or non-positive stock concentration, non-positive desired concentration or final volume, and any desired concentration greater than stock, because that would describe concentrating rather than diluting.

How concentrations and final volume are read and how results stay reproducible

Desired concentration and final volume must also be positive; desired must not exceed stock. 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 bottle concentration is stock_concentration, but aliases C1, c1, stock_c, C_stock, stock_conc, and stock are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. The preferred field for the target working concentration is desired_concentration, with aliases C2, c2, desired_c, C_desired, final_concentration, target, and target_concentration. The preferred field for the total diluted volume is final_volume, with aliases V2, v2, V_final, final, total, total_volume, and volume_final. Stock concentration must be strictly positive: zero fails with invalid_input and a message that names division by zero so a blank stock bottle cannot produce 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 stock-volume formula yourself.

Where stock solution volume fits in study, lab work, and software

Students meet C1V1 equals C2V2 when a textbook introduces simple dilution, when a homework problem asks how many millilitres of a stock acid to take for a working solution of known molarity and volume, or when a lab manual lists stock concentration, desired concentration, and flask volume without pre-computing the aliquot. Teachers can pre-generate answer keys for prep sheets without trusting opaque apps that silently mix concentration units or invert the formula. 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 V_stock and diluent rather than a hand-waved sketch. Lab technicians and preparers use the same definition when a standard operating procedure says prepare one hundred millilitres of one-millimolar buffer from a ten-millimolar stock: confirm ten millilitres of stock plus ninety millilitres of diluent before filling the volumetric flask. Product and education tools use the endpoint when a learner types C1, C2, and V2 and the UI must show stock volume with a clear dilution factor. 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 dilution-factor or molar-concentration helpers when you need related solution quantities, and with other science endpoints when you are building a small lab of free, deterministic chemistry calculators.

Deterministic test fixtures

Generate reproducible stock_volume and dilution_factor values for unit tests, chemistry tutors, and CI assertions.

Does this tool convert molarity to millimolar or mL to L?

No. Keep concentration units consistent between stock and desired, and treat the returned stock volume in the same volume unit you used for final_volume.

Read the full KIT documentation →