Buffer and pH calculator
Plan a buffer from the Henderson-Hasselbalch equation: pick a buffer system, set the pH, strength and volume, and get the grams of acid and salt to weigh. Or find the pH of a mixture you already have, and convert between pH, pOH and ion concentrations.
Typical values at 25 °C. Use your own value for other temperatures or ionic strengths.
Base to acid ratio
1.585[A⁻] : [HA]
NaH2PO4, anhydrous
Acid form, HA
4.642 g
to weigh
- Concentration
- 38.69 mM
- Amount
- 38.69 mmol
Na2HPO4, anhydrous
Base form, A⁻
8.704 g
to weigh
- Concentration
- 61.31 mM
- Amount
- 61.31 mmol
Buffer capacity at this pH: 54.6 mM per pH unit (the most it can be is 57.6 mM at pH = pKa).
How the calculation works
A buffer is a weak acid HA mixed with its conjugate base A⁻. Taking logarithms of the acid dissociation constant, Ka = [H⁺][A⁻] ÷ [HA], gives the Henderson-Hasselbalch equation.
- pKa
- −log₁₀ of the acid dissociation constant, the pH at which half the acid is in each form
- [A⁻]
- concentration of the base form, for example acetate or HPO₄²⁻
- [HA]
- concentration of the acid form, for example acetic acid or H₂PO₄⁻
To make a buffer at a target pH, first find the ratio r = 10^(pH − pKa). With a total buffer concentration C, the base form is C × r ÷ (1 + r) and the acid form is C ÷ (1 + r). Multiply each by the volume to get moles, and by the molar mass of the form you weigh to get grams.
Buffer capacity β = 2.303 × C × Ka × [H⁺] ÷ (Ka + [H⁺])² measures how much strong acid or base the buffer absorbs per pH unit. It peaks at pH = pKa and falls quickly beyond one unit either side, which is why a buffer should be chosen with a pKa within one unit of the target pH.
The equation uses concentrations in place of activities, so it is an estimate. Real pH also shifts with ionic strength and temperature. It works best between about 1 mM and 0.5 M, for ratios between 0.1 and 10, and away from very low or very high pH.
| Buffer | pKa | Useful pH range |
|---|---|---|
| Acetate (acetic acid / sodium acetate) | 4.76 | 3.8 to 5.8 |
| Formate (formic acid / sodium formate) | 3.75 | 2.8 to 4.8 |
| MES | 6.1 | 5.1 to 7.1 |
| Sodium phosphate (pKa2) | 7.2 | 6.2 to 8.2 |
| Potassium phosphate (pKa2) | 7.2 | 6.2 to 8.2 |
| MOPS | 7.14 | 6.1 to 8.1 |
| HEPES | 7.48 | 6.5 to 8.5 |
| Tris (Tris HCl / Tris base) | 8.07 | 7.1 to 9.1 |
| Ammonium (NH4Cl / NH3) | 9.25 | 8.3 to 10.3 |
| Carbonate (NaHCO3 / Na2CO3) | 10.33 | 9.3 to 11.3 |
Worked example
The same steps the calculator follows, done by hand
Make 1 L of 100 mM sodium phosphate buffer at pH 7.4, using anhydrous NaH₂PO₄ (119.98 g/mol) and Na₂HPO₄ (141.96 g/mol). The pKa2 of phosphoric acid is 7.20.
- 1Ratio of base to acid: r = 10^(7.4 − 7.20) = 10^0.2 = 1.585.
- 2Base form: 100 × 1.585 ÷ 2.585 = 61.3 mM of HPO₄²⁻. Acid form: 100 ÷ 2.585 = 38.7 mM of H₂PO₄⁻.
- 3In 1 L that is 0.0613 mol × 141.96 g/mol = 8.70 g of Na₂HPO₄ and 0.0387 mol × 119.98 g/mol = 4.64 g of NaH₂PO₄.
- 4Dissolve both in about 900 mL of water, check the pH with a meter, adjust with dilute NaOH or phosphoric acid and make up to 1 L. Expect to adjust, because ionic strength lowers the working pKa.
pH, pOH and ion concentration
Convert between pH, pOH, [H⁺] and [OH⁻] in water at 25 °C, where pH + pOH = 14
Concentrations can be typed as 1e-5 or 1×10^-5.
- pH
- 7.4
- pOH
- 6.6
- [H⁺] mol/L
- 3.981 × 10⁻⁸
- [OH⁻] mol/L
- 2.512 × 10⁻⁷