How to make a buffer at a target pH by hand
The Henderson-Hasselbalch equation is pH = pKa + log([A⁻]/[HA]). Rearrange for the ratio you need: [A⁻]/[HA] = 10^(pH − pKa). Split your total concentration into the two forms using fraction A⁻ = ratio/(1+ratio) and fraction HA = 1/(1+ratio), then multiply each concentration by the volume (in liters) to get moles, and by the molar mass for grams. A buffer works best within about pKa ± 1; outside that range it has little capacity, so pick a buffer whose pKa is close to your target pH.
pKa values shown are standard 25 °C textbook values; some sources differ by a few hundredths, and phosphate/bicarbonate shift with temperature and ionic strength (blood bicarbonate is often quoted as 6.1).
Want the strong-acid/base addition problem type worked out too? See the 3 MCAT buffer question types, explained.
Related tools: pH calculator · Peptide charge & pI calculator · Acid-base titration curve · Buffer pKa table · all biochem tools.
Worked example 1: phosphate buffer at pH 7.40 (the default)
Phosphate buffer, pKa 7.21, target pH 7.40, 0.10 M total concentration, 500 mL final volume.
This matches the calculator's default output exactly: 30.4 mmol of conjugate base and 19.6 mmol of the weak acid form, dissolved together in 500 mL.
Worked example 2: what happens when the pKa is a bad match
Same target pH (7.40) and concentration (0.10 M), but using acetate buffer (pKa 4.76) instead of phosphate.
Almost all of the acetate is in its conjugate-base form (99.77%) with barely any weak acid left (0.23%). There isn't enough of the minority form to absorb much added acid before the pH swings. This is the numeric reason acetate is a poor choice for buffering at pH 7.40, even though it works well near its own pKa of 4.76.
FAQ
Why does buffering capacity fail outside pKa ± 1?
Outside that range, one form vastly outnumbers the other. Buffering works by the minority form absorbing added acid or base, with almost none of it left, added acid or base swings the pH quickly instead of being absorbed, as shown in example 2 above.
Why phosphate instead of acetate for physiological pH?
Phosphate's pKa (~7.21) sits close to 7.4, within pKa ± 1. Acetate's pKa (~4.76) is over 2.5 units away, far outside its range, so it has almost no capacity to resist pH changes at 7.4 even though it's a fine buffer near its own pKa.
Do I need the volume to find the acid/base ratio?
No, the ratio and fractions depend only on pH and pKa. Concentration and volume are only needed for the last step: converting those fractions into actual moles or grams.
What buffers blood at pH 7.4?
The bicarbonate system (H₂CO₃/HCO₃⁻), even though its pKa (~6.1) looks further from 7.4 than phosphate's. It works because it's an open system, CO₂ is constantly exhaled, shifting the equilibrium and extending its effective buffering range beyond the simple closed-system pKa ± 1 rule.
Why is histidine used as a buffer?
Its imidazole side chain has a pKa of about 6.0, close enough to physiological pH to give real buffering capacity between roughly pH 5 and 7, useful for protein formulation and purification. It's also one of the few side chains meaningfully charged at physiological pH, which is why it's so common in enzyme active sites as a proton donor/acceptor.
Practice problems
1. Make a 0.05 M Tris buffer (pKa 8.06) at pH 8.5, in 250 mL. How much conjugate base and weak acid form are needed?
Show answer
2. Would ammonium buffer (pKa 9.25) work well for a target pH of 8.5? Why or why not?