Acid-Base Titration Simulator

Drip a base into an acid (or vice versa), watch the pH curve build, and see the indicator flip color at the equivalence point. Covers strong, weak, and polyprotic systems.

Flask (analyte)
Titration curve
Volume of titrant added 0.00 mL
Burette + flask
Titration curve
0 drops  ·  0.00 mL Speed
How the numbers are calculated & sources

Every pH on the curve and in the flask is the numerical root of the full charge-balance equation for that system, not a piecewise approximation. For a weak acid HnA titrated with NaOH:

[Na⁺] + [H⁺] = [OH⁻] + Σᵢ i·αᵢ·CT

where αi is the fraction of analyte in deprotonation state i, computed from the Ka values. The equation is solved by bisection over pH ∈ [−2, 16] to about 6 decimal places. Polyprotic systems use the same formula with more terms; weak-base titrations (NH3 + HCl) flip the sign convention. This is the same method shown in undergraduate analytical chemistry textbooks (Skoog & West; Harris).

Acid-dissociation constants used:

  • Acetic acid: pKa = 4.76
  • Ammonium (NH4+): pKa = 9.25
  • Oxalic acid: pKa1 = 1.25, pKa2 = 4.27
  • Phosphoric acid: pKa1 = 2.15, pKa2 = 7.20, pKa3 = 12.35

Indicator transition ranges (color flips somewhere inside each band):

  • Methyl orange: 3.1 (red) → 4.4 (yellow)
  • Bromothymol blue: 6.0 (yellow) → 7.6 (blue)
  • Phenolphthalein: 8.2 (colorless) → 10.0 (pink)
  • Universal indicator: continuous red → violet across pH 3 → 11