Home › Chemistry › Titration Calculator
Titration Calculator
Applies the equivalence-point balance n_a·M_a·V_a = n_t·M_t·V_t to a titration: it returns the titrant volume needed to reach equivalence for an analyte of known concentration, or the analyte concentration from the titrant volume consumed, together with the moles of analyte and titrant.
When to use
You need the volume of standard titrant that neutralises a known sample, or the molarity of an unknown acid, base or other analyte from the titrant volume at the end point, including polyprotic acids, polybasic bases and redox titrations expressed in equivalents.
Do not use when: You need the pH during the titration or at the equivalence point of a weak acid or base (use weak-acid-ph or henderson-hasselbalch), or the reaction ratio is not captured by equivalents per formula unit (use stoichiometry with the balanced equation).
Formula
analyte_equivalents × analyte_molarity × analyte_volume_ml = titrant_equivalents × titrant_molarity × titrant_volume_ml; titrant_volume_ml = n_a × M_a × V_a / (n_t × M_t); analyte_molarity = n_t × M_t × V_t / (n_a × V_a); moles = M × V_ml / 1000
Valid at the equivalence point of a reaction that goes to completion (any acid with a strong base or base with a strong acid, and standard redox titrations); the indicator end point is assumed to coincide with it. Equivalents per formula unit let the same balance cover polyprotic acids, polybasic bases and redox reagents.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
mode | enum: find_titrant_volume | find_analyte_concentration | default find_titrant_volume | find_titrant_volume needs analyte_molarity; find_analyte_concentration needs titrant_volume_ml. | |
analyte_volume_ml | number | mL | yes | Volume of the sample (analyte solution) placed in the flask, in millilitres. Range: > 0, ≤ 1000000 |
analyte_molarity | number | mol/L | no | Concentration of the analyte; required in find_titrant_volume mode, solved (and ignored if given) in find_analyte_concentration mode. Range: > 0, ≤ 100 |
titrant_molarity | number | mol/L | yes | Concentration of the standardised titrant in the burette. Range: > 0, ≤ 100 |
titrant_volume_ml | number | mL | no | Titrant volume delivered to reach the end point, in millilitres; required in find_analyte_concentration mode. Range: > 0, ≤ 1000000 |
analyte_equivalents | integer | default 1 | Reacting units per formula unit of analyte: H⁺ per acid molecule (HCl 1, H2SO4 2, H3PO4 up to 3), OH⁻ per base (NaOH 1, Ca(OH)2 2) or electrons per ion in a redox titration (Fe²⁺ 1). Range: ≥ 1, ≤ 12 | |
titrant_equivalents | integer | default 1 | Reacting units per formula unit of titrant (NaOH 1, Ba(OH)2 2, H2SO4 2, MnO4⁻ in acid 5). Range: ≥ 1, ≤ 12 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
titrant_volume_ml | number | mL | Titrant volume at the equivalence point, given or solved. |
analyte_molarity | number | mol/L | Analyte concentration, given or solved. |
moles_analyte | number | mol | analyte_molarity × analyte_volume_ml / 1000. |
moles_titrant | number | mol | titrant_molarity × titrant_volume_ml / 1000. |
equivalents_mmol | number | mmol | n_a × mmol analyte = n_t × mmol titrant: millimoles of H⁺/OH⁻ (or electrons) exchanged at equivalence. |
equivalence_note | string | The mole balance at the equivalence point in words. | |
solved_for | string | titrant_volume_ml or analyte_molarity. |
Example
25.0 mL of 0.100 M H2SO4 (2 equivalents) titrated with 0.100 M NaOH: {"mode":"find_titrant_volume","analyte_volume_ml":25,"analyte_molarity":0.1,"titrant_molarity":0.1,"analyte_equivalents":2} → {"titrant_volume_ml":50,"moles_analyte":0.0025,"moles_titrant":0.005,"equivalents_mmol":5,"solved_for":"titrant_volume_ml"}
20.0 mL of an unknown monoprotic acid neutralised by 15.0 mL of 0.200 M NaOH: {"mode":"find_analyte_concentration","analyte_volume_ml":20,"titrant_molarity":0.2,"titrant_volume_ml":15} → {"analyte_molarity":0.15,"moles_titrant":0.003,"moles_analyte":0.003,"equivalents_mmol":3,"solved_for":"analyte_molarity"}
GET https://tttkmbb.com/api/v1/calculate/titration?mode=find_titrant_volume&analyte_volume_ml=25&analyte_molarity=0.1&titrant_molarity=0.1&analyte_equivalents=2
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/titration(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/titration · Markdown: https://tttkmbb.com/chemistry/titration.md · JSON definition: https://tttkmbb.com/chemistry/titration.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="titration" - OpenAPI operationId:
calculate_titration - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Titration (reference)
- Wikipedia – Equivalence point (reference)
- OpenStax Chemistry 2e – 14.7 Acid-Base Titrations (textbook)
FAQ
How do I standardise a titrant of unknown concentration?
The balance is symmetric, so swap the roles: enter the unknown titrant as the analyte (its delivered volume as analyte_volume_ml) and the primary standard (e.g. KHP or Na2CO3) as the titrant with its known molarity and volume, then use find_analyte_concentration.
Which equivalents do I use for a polyprotic acid?
The number of protons titrated up to the end point you detect: H2SO4 2, oxalic acid 2, H3PO4 1 with methyl orange (first equivalence point) or 2 with phenolphthalein (second).
Is the end point the same as the equivalence point?
Not exactly: the end point is where the indicator changes colour, the equivalence point is the stoichiometric balance calculated here. A suitable indicator keeps the difference within a few hundredths of a millilitre.
Related calculators
- Molarity Calculator — Prepare the standard titrant at the required molarity.
- Weak Acid pH Calculator — pH of the weak acid or base being titrated.
- Stoichiometry Calculator — Reactions whose ratio is not a simple equivalents count.