# pH, Buffer & Titration Curve Calculator > pH ↔ pOH ↔ [H⁺], buffer recipes with Henderson–Hasselbalch checked exactly, and titration curves. Three pH calculators in one. Convert between pH, pOH, [H₃O⁺] and [OH⁻]. Design or check a buffer: the pH of a weak acid and its conjugate base (Henderson–Hasselbalch next to the exact charge balance), the concentrations and grams for a target pH, the buffer capacity and the pH after adding a strong acid or base. Draw the titration curve of a strong or weak acid or base with the equivalence and half-equivalence points, the steepest point and matching indicators. Nine common buffer acids are built in. Part of the Proofline math notebook. Part of usefulweb.app (https://usefulweb.app/). Part of [Proofline](https://proofline.usefulweb.app/) (ownerApp: proofline). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://prooflinephbuffer.usefulweb.app/ (interactive tool at https://prooflinephbuffer.usefulweb.app/tool) - JSON API: POST https://prooflinephbuffer.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://prooflinephbuffer.usefulweb.app/api/v1/tool) - OpenAPI: https://prooflinephbuffer.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://prooflinephbuffer.usefulweb.app/mcp - tool `proofline_ph_buffer` ## Inputs - mode (select): Calculation - value (text): Known value (convert) - pH 3.2, pOH 4, H+ 1e-3 M or OH- 0.01 M. - acid (select): Buffer acid - constant (text): Ka, pKa, Kb or pKb - For your own buffer acid or a weak analyte in a titration. - acidConc (text): Weak acid [HA] - Buffer: give [HA] and [A⁻] for the pH, or leave both empty and give a target pH. - baseConc (text): Conjugate base [A⁻] - targetPH (number): Target pH (buffer recipe) - totalConc (text): Total buffer concentration - Recipe: [HA] + [A⁻]. Empty: 0.1 M. - volume (text): Buffer volume - Gives the amounts and grams to weigh, and is needed for additions. - addAcid (text): Add strong acid - Amount of HCl (or another strong acid) added to the buffer volume. - addBase (text): Add strong base - analyte (select): Sample (titration) - analyteConc (text): Sample concentration - analyteVolume (text): Sample volume - titrantConc (text): Titrant concentration - maxVolume (text): Plot up to (titrant volume) - Empty: twice the equivalence volume. ## Method - pH = −log₁₀[H₃O⁺], pOH = 14.00 − pH, [OH⁻] = Kw/[H₃O⁺] with Kw = 1.0 × 10⁻¹⁴ at 25 °C. - Buffers: the exact pH solves the charge balance [H⁺] + [Na⁺] = [A⁻] + [OH⁻] + [Cl⁻] with [A⁻] = C·Ka/(Ka + [H⁺]) by bisection (Proofline’s chemistry engine); Henderson–Hasselbalch pKa + log([A⁻]/[HA]) is shown next to it. A recipe for a target pH is found by bisection on the share of A⁻, so it is exact, not Henderson–Hasselbalch. Buffer capacity β = 2.303·(Kw/[H⁺] + [H⁺] + C·Ka·[H⁺]/(Ka + [H⁺])²). - Titrations: every point solves the same charge balance with the dilution by the titrant, from the start through the buffer region and the equivalence point to the excess. The steepest point is the maximum of |dpH/dV|; indicators are suggested when their transition range contains the equivalence pH (± 0.3). - Verified: 0.1 M acetic acid titrated with 0.1 M NaOH starts at pH 2.88, passes pKa at half equivalence and reaches pH 8.72 at equivalence; strong acid against strong base gives pH 7.00 at equivalence; an equimolar acetate buffer has pH = pKa. ## Limits - Dilute-solution model at 25 °C: activities are taken as concentrations, so real pH values can differ by a few tenths at higher ionic strength; always check a buffer with a calibrated pH meter. Polyprotic acids are treated one step at a time. Nothing here is advice on handling chemicals or radioactive material safely.