Simulate titration curves for strong and weak acids/bases. Visualize pH changes, identify equivalence points, and explore buffer regions.
Enter your titration parameters on the left and click "Simulate Titration" to generate a pH vs. volume curve with key points marked.
This simulator supports:
If you're working through an acid-base titration curve simulator problem and trying to find where the equivalence point falls, here's what trips most students up: they assume the equivalence point is always at pH 7. That's only true for strong acid + strong base. Titrate acetic acid with NaOH and equivalence lands near pH 8.7—well above neutral—because the conjugate base (acetate) hydrolyzes and makes the solution basic.
The equivalence point is where moles of titrant exactly equal moles of analyte. The volume to reach it comes from stoichiometry: V_eq = (C_analyte × V_analyte) / C_titrant. This formula doesn't care about acid strength—it's purely about mole matching. But the pH at equivalence depends entirely on what's left in solution: neutral salt (strong-strong), conjugate base (weak acid + strong base), or conjugate acid (weak base + strong acid).
On the titration curve, equivalence appears at the steepest part of the S-curve. The near-vertical section is where a single drop of titrant swings pH by several units. That's your indicator's target zone. Choose an indicator whose color-change range overlaps with that steep section, not just "around pH 7."
The half-equivalence point is the single most useful feature of a weak acid titration curve. When exactly half the acid has been neutralized, [HA] = [A⁻]. Plug that into Henderson–Hasselbalch: pH = pKa + log(1) = pKa + 0 = pKa. So reading the pH at half-equivalence directly gives you pKa. No calculation needed beyond reading a graph.
This is how experimental pKa values get measured. Titrate an unknown weak acid with standardized NaOH, find the equivalence volume, go to half that volume on your curve, read the pH. That pH is pKa. It's elegant and it works because the math guarantees the ratio is exactly 1:1 at that point.
The half-equivalence region is also the flat part of the titration curve—it's where buffer capacity peaks. Adding titrant here barely changes pH because the buffer system (HA/A⁻ in equal amounts) absorbs it. This plateau is absent in strong acid + strong base titrations because there's no buffer pair.
Titrating a weak acid with strong base produces a distinctive curve with four regions. First, the initial pH—higher than a strong acid of the same concentration because weak acids partially dissociate. Second, the buffer region—a gradual rise as titrant converts HA to A⁻, creating a buffer. Third, the equivalence region—a steep jump past pH 7 because the conjugate base is basic. Fourth, the post-equivalence region—excess NaOH dominates and pH climbs slowly toward 13-14.
Compare this to strong acid + strong base: no buffer plateau, equivalence at exactly pH 7, and the steep section is more vertical (larger pH jump in fewer drops). The weak-acid curve looks "softer" because the buffer region cushions the rise. The weaker the acid (higher pKa), the higher the initial pH and the more obvious the buffer shelf.
Curve region summary:
Initial: pH from √(Ka × C) calculation
Buffer zone: pH = pKa ± ~1 (flat region)
Half-equiv: pH = pKa exactly
Equivalence: pH from Kb hydrolysis (> 7)
Post-equiv: pH from excess [OH⁻]
Polyprotic acids (H₂SO₃, H₃PO₄, citric acid) have multiple ionizable protons, each with its own pKa. This produces multiple equivalence points on the titration curve—one for each proton removed. The curve shows distinct S-shaped steps, each separated by a buffer region around the corresponding pKa.
For phosphoric acid: the first equivalence removes H₃PO₄ → H₂PO₄⁻ (near pKa₁), the second removes H₂PO₄⁻ → HPO₄²⁻ (near pKa₂), and the third removes HPO₄²⁻ → PO₄³⁻ (near pKa₃). Each step doubles the titrant volume from the previous equivalence. The steps are only visible as separate inflections if the pKa values are well-separated (at least 3-4 units apart).
When pKa values are too close together (within 2 units), the individual steps merge into one blurred transition and you can't resolve separate equivalence points from the curve. This is why sulfuric acid's second proton (pKa₂ ≈ 1.99) doesn't always produce a clean second step—it's too close to the strong first ionization.
Problem: Titrate 25.0 mL of 0.10 M acetic acid (pKa ≈ 4.76) with 0.10 M NaOH. Find key pH values.
Equivalence volume:
V_eq = (0.10 × 25.0) / 0.10 = 25.0 mL
Initial pH (0 mL NaOH):
Ka ≈ 1.74 × 10⁻⁵
[H⁺] = √(1.74 × 10⁻⁵ × 0.10) = 1.32 × 10⁻³
pH = 2.88
Half-equivalence (12.5 mL):
pH = pKa = 4.76
At equivalence (25.0 mL):
All HA → A⁻. [A⁻] = 0.0025/0.050 = 0.050 M
Kb = 10⁻¹⁴/1.74 × 10⁻⁵ = 5.75 × 10⁻¹⁰
[OH⁻] = √(5.75 × 10⁻¹⁰ × 0.050) = 5.36 × 10⁻⁶
pH = 14 − 5.27 = 8.73
Notice: equivalence is at 8.73, not 7. Phenolphthalein (color change 8–10) is the right indicator here. Methyl orange would change color far too early, in the buffer region.
• Endpoint ≠ equivalence point: Endpoint is the experimental observation (indicator color change). Equivalence is the theoretical stoichiometric point. Good technique minimizes the gap between them.
• Volume changes dilute: Total volume increases as you add titrant. Always use (V_analyte + V_titrant) as your denominator when calculating concentrations mid-titration.
• Different formulas per region: Before equivalence: buffer equation or excess acid. At equivalence: hydrolysis of salt. After equivalence: excess titrant. Using the wrong formula for the wrong region is the #1 exam error.
• Temperature and CO₂: CO₂ absorption from air makes basic solutions drift acidic over time. Kw changes with temperature, shifting the neutral point. Both affect real titrations but not idealized calculations.
Master acid-base chemistry, buffer systems, and quantitative analysis with our comprehensive calculator suite
Browse All Chemistry Tools