ForHosting KIT · Science

Titration calculator

If 25 mL of 0.1 M titrant reaches the end point against a 50 mL sample in a one-to-one reaction, the sample is 0.05 M. Enter the titrant concentration, both volumes and the stoichiometric ratio to get the analyte concentration, step by step. 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
Titrant concentration
0.1
Titrant volume
25
Analyte volume
50
Stoichiometric ratio
1
You get
Analyte concentration
0.05
Rearrange
Ca = (Ct·Vt·r) / Va
Equation
Ca·Va = Ct·Vt·r → 0.05·50 = 0.1·25·1
Product ct vt
2.5

Once the burette reading is recorded, the mole balance at equivalence is a four-number rearrange: titrant concentration times titrant volume times the stoichiometric ratio, divided by the aliquot volume. Students, technicians, and automation scripts need that contract to be deterministic—finite inputs in, one molarity out, and a hard failure when the sample volume is not positive so division by zero never looks like a successful zero result. Use any consistent volume unit for the two volumes—milliliters with milliliters or liters with liters—because the ratio cancels the unit as long as both volumes match.

What the end-point formula tells you

At the equivalence point of a titration the stoichiometric amounts of analyte and titrant match the coefficients of the balanced reaction. Write the reaction as a Analyte plus b Titrant going to products. The mole balance is then Ca times Va divided by a equals Ct times Vt divided by b, which rearranges to Ca equals Ct times Vt times (a over b) divided by Va.

For a one-to-one acid–base pair such as hydrochloric acid with sodium hydroxide, r equals one and the formula collapses to the familiar Ca equals Ct Vt over Va. For sulfuric acid titrated with sodium hydroxide the balanced equation is one H2SO4 plus two NaOH, so a equals one and b equals two and r equals one half; fifty milliliters of 0.1 molar NaOH against twenty-five milliliters of sample then yields Ca equals 0.1 molar sulfuric acid. The identity is not a dilution formula.

Volumes must share one unit so the ratio is dimensionless in volume; concentrations come back in the same unit you used for the titrant, typically moles per liter. If your method is written in milliliters and millimoles, the numerical product still balances, so you may enter milliliters for both volumes without converting to liters first. Keep r strictly positive: a zero ratio would claim that no analyte is consumed per mole of titrant, which is not a titration.

QC and LIMS batch rows

Attach analyte concentration to each titration record from stored Ct, Vt, Va, and r without embedding a chemistry library in the pipeline.

Homework and LMS auto-grading

Mark titration items with a deterministic oracle that rejects a non-positive analyte volume and returns a stable rounded Ca.

What is the stoichiometric ratio r?

r is moles of analyte that react per mole of titrant from the balanced equation (na/nt). Use 1 for 1:1 pairs such as HCl + NaOH; use 0.5 when 1 H2SO4 reacts with 2 NaOH.

Do Vt and Va need to be in liters?

No. Use any consistent volume unit for both (for example both in mL). The ratio cancels the volume unit as long as Vt and Va share it.

How do I calculate analyte concentration from a titration?

Multiply the titrant concentration by the titrant volume at the end point and by the stoichiometric ratio, then divide by the sample volume. With 0.1 M, 25 mL and a 50 mL sample, the result is 0.05 M.

What ratio do I use for sulfuric acid titrated with sodium hydroxide?

Use 0.5, because one mole of sulfuric acid reacts with two moles of sodium hydroxide. For example, 50 mL of 0.1 M base against a 25 mL sample gives 0.1 M sulfuric acid.

What happens if the sample volume is zero?

The calculator rejects it. The concentration is divided by the sample volume, so a zero or negative volume would make the result meaningless, and you get a clear message instead of a misleading zero.

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/titration

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/titration \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"titrant_concentration":0.1,"titrant_volume":25,"analyte_volume":50,"stoichiometric_ratio":1}'
{
  "titrant_concentration": 0.1,
  "titrant_volume": 25,
  "analyte_volume": 50,
  "stoichiometric_ratio": 1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "chem.titration",
  "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.

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.

A titration finds an unknown analyte concentration by delivering a standardized titrant until the endpoint. This titration calculator accepts titrant concentration, titrant volume at the endpoint, analyte volume, and the stoichiometric ratio of analyte to titrant from the balanced equation, returns the analyte concentration with equation and step strings, and rejects a non-positive analyte volume with invalid_input.

What Ca = (Ct · Vt · r) / Va means at the titration endpoint

This calculator takes that ratio r equals a over b as the stoichiometric_ratio field: moles of analyte that react per mole of titrant. Dilution conserves solute when solvent is added; this endpoint conserves reaction equivalents between two solutions that consume each other.

Input contract, response shape, and non-positive volume errors

Titrant concentration must be non-negative. Titrant volume must be non-negative. The stoichiometric ratio must be strictly positive. Example: Ct equals 0.1 molar, Vt equals 25 milliliters, Va equals 50 milliliters, r equals 1 yields Ca equals 0.05 molar, because 0.1 times 25 times 1 over 50 equals 0.05. POST a JSON body with four required finite numbers: titrant_concentration (Ct, aliases ct, c_titrant, concentration_titrant), titrant_volume (Vt, aliases vt, v_titrant, volume_titrant), analyte_volume (Va, aliases va, v_analyte, volume_analyte), and stoichiometric_ratio (r, aliases ratio, mole_ratio, n_ratio). Each field may arrive as a JSON number or as a numeric string; missing fields, empty strings, and non-finite values fail with invalid_input naming the field. On success the body echoes the four inputs, returns analyte_concentration rounded to twelve decimal places for stable goldens, and includes formula, rearrange, equation, the concentration–volume products, a short message, and ordered steps that restate the substitution. Pair the numeric result with your own lab-notebook units; this endpoint does not convert milliliters to liters or molarity to normality.

Where a titration calculator earns its keep

Teaching labs use a titration calculator so students can check Ca from recorded burette and pipette volumes without hand-calculator slips on the division or on a two-to-one mole ratio. Exam generators need a deterministic oracle that marks a non-positive sample volume as invalid instead of silently returning infinity or NaN. Failed validation does not consume balance. Quality-control scripts that already store standardized titrant concentration, endpoint volume, aliquot size, and the method stoichiometric ratio can call a tiny parse API to attach analyte concentration to each batch row without embedding a chemistry library. Keep volumes in one unit family, pin the rounded analyte_concentration field in tests, and you get reproducible molarity for homework, LMS plugins, LIMS hooks, and edge workers without standing up a full analytical-chemistry stack of your own. If you later need normality rather than molarity, convert with the reaction equivalent factor outside this endpoint; this capability stays focused on the four-input mole-balance rearrange that searchers mean when they type titration calculator.

Teaching lab endpoint checks

Students enter standardized titrant concentration, burette volume at the color change, pipette sample volume, and the mole ratio to verify analyte molarity.

How do I calculate unknown analyte concentration from a titration?

Send titrant_concentration (Ct), titrant_volume (Vt), analyte_volume (Va), and stoichiometric_ratio (r = na/nt). The API returns Ca = (Ct·Vt·r)/Va.

What happens if analyte volume is not positive?

The task fails with invalid_input. A zero or negative sample volume cannot be used to compute Ca, so the request is rejected and not billed.

What does the titration calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →