Buffer preparation calculator
How much acid form and how much conjugate base to reach a target pH, by Henderson–Hasselbalch — with the pKa corrected to your working temperature, and the temperature each tabulated pKa was measured at shown rather than assumed.
The formula
pH = pKa + log₁₀([A⁻]/[HA]) pKa(T) = pKa(T₀) + (dpKa/dT)(T − T₀)
- [HA]
- concentration of the acid form
- [A⁻]
- concentration of the conjugate base form
- pKa
- acid dissociation constant of the step being used, at the working temperature
- T₀
- temperature the tabulated pKa was measured at — 20 °C for most zwitterionic buffers, 25 °C for the classical ones
- dpKa/dT
- change in pKa per °C, negative for every buffer in the table
Worked example
One litre of 50 mM Tris at pH 8.00
Tris has a pKa of 8.06 at 25 °C. At a target of pH 8.00 the base fraction is 1 / (1 + 100.06) = 0.4655, giving a base-to-acid ratio of 0.8710 — the solution is very slightly richer in the acid form, because the target sits just below the pKa.
Of the 0.05000 mol of buffer in one litre, 0.02328 mol is present as Tris free base and 0.02672 mol as Tris·H⁺. Prepared the usual way — weighing 6.057 g of Tris base, dissolving, and titrating with hydrochloric acid — that is 0.02672 mol of HCl. Every figure here is shown to four significant figures; the calculator carries full precision throughout.
Now take the same bottle into a 4 °C cold room. Tris moves at −0.028 per °C, so its pKa rises by 0.588 to 8.648. The acid-to-base ratio in the bottle has not changed, so the pH rises by that same 0.588: the buffer you trimmed to 8.00 is now sitting near pH 8.59. Nothing was done wrong — the number simply was never a property of the solution alone.
Common pitfalls
A tabulated pKa carries a temperature, and the common tables disagree on it
The two most-cited references for zwitterionic buffers — Promega's technical note and the Calbiochem buffers guide — tabulate at 20 °C, following Good's original 1966 paper. Most supplier product pages quote 25 °C. The two get cited interchangeably, which silently shifts a temperature-sensitive buffer by 0.1 to 0.15 pH units. This calculator states the basis of every value it uses rather than assuming one.
Temperature coefficients are published per °C and per 10 °C
The same buffer appears as −0.028 in one table and −0.31 in another; they agree, because one is per degree and the other per ten. Read the column header before copying a figure into a method. A value that is ten times too large will still look plausible on the page.
Adjust the pH at the temperature you will use the buffer at
Titrating on the bench and then running the method in a cold room or a 37 °C incubator moves the pH by the temperature coefficient times the temperature difference. For Tris across 21 °C that is nearly 0.6 pH units — enough to change a chromatographic retention time or an enzyme's activity outright.
Henderson–Hasselbalch ignores activity coefficients
The equation assumes activities equal concentrations, which stops being true as ionic strength rises. Treat the amounts here as a starting point to weigh out, then trim to the target with a calibrated meter at the working temperature. The calculation gets you close; the meter is what makes it right.
The weigh-out mass depends on which salt is on the shelf
The mass shown is for the free form named beside it. Sodium acetate trihydrate, disodium phosphate heptahydrate and the anhydrous versions of each have different molar masses, and using the wrong one changes the buffer concentration without changing the pH you measure. Check the label, not the name.
Pick the dissociation step, not just the compound
Phosphate has three pKa values and citrate three more; only the one nearest your target pH is doing any buffering. This calculator selects the step from the target pH and tells you which one it used, because a buffer worked out against the wrong step is out by whole pH units rather than by a rounding error.