How to Make a Buffer Solution
A buffer solution is made from four numbers, not one: which weak-acid system you are using, how many moles of it you weigh, how much strong acid or base you add to push that population to the target protonation, and the final volume you bring it to. Most protocols quote only the first and the last, then say “adjust the pH with HCl or NaOH” — which is the part that actually decides whether the buffer works. This guide walks the whole procedure with real arithmetic, and the buffer calculator computes every step of it in both directions: from a target pH to a recipe, and from what you already weighed to the pH it settles at.
What a buffer is doing in the beaker
A buffer is a weak acid and its conjugate base in the same solution. Remove a proton from acetic acid and you get acetate; the pair interconverts, and the mixture resists pH change because added H⁺ or OH⁻ is absorbed by converting one form into the other instead of accumulating free. Two quantities describe the pair at any moment:
- Where it sits — the ratio of the two forms, which fixes the pH through pH = pKa + log₁₀([A⁻]/[HA]).
- How much of it there is — the total analytical concentration, counting every form, which fixes how much acid or base the mixture can absorb before it moves.
Those two are independent, which is why “make a phosphate buffer, pH 7” is an incomplete instruction. A real specification is system + target pH + total concentration + final volume + temperature, and the recipe is the amount of bottle-material and titrant that satisfies all five.
Systems with more than one ionisable proton (phosphate, citrate, glycine) are a ladder of pKa values rather than a single one. Phosphoric acid publishes 2.16, 7.20 and 12.32; near pH 7 the first step is already fully deprotonated and only the 7.20 step matters, but at pH 4 or 12 you are using a different rung, and at citrate’s pH 4 two rungs contribute at once.
The three numbers you calculate before touching the balance
1 — Moles of buffer. Total concentration × final volume, converted to a mass with the molar mass of the exact form on your bottle (anhydrous, monohydrate, heptahydrate all differ):
- 50 mM × 1.0 L = 50 mmol of acetic acid → 50 mmol × 60.052 g/mol = 3.003 g
2 — The strong ion the target pH requires. At the target pH the population has a mean number of protons it has given up, so the solution must carry that many millimoles of Na⁺ (or K⁺), or the equivalent deficit of Cl⁻. Water’s own H⁺ and OH⁻ contribute too, and at low concentration or extreme pH that contribution is not a rounding error:
- required Na⁺ at pH 4.756 for 50 mM acetate = 24.98 mmol per litre (25.00 by the ratio shortcut; the missing 0.0175 mmol is the free H⁺ already in solution)
3 — The titrant that gets you there. Number 2 minus whatever strong ion the weighed form already supplies. Start from glacial acetic acid and you need 24.98 mmol of NaOH; start from anhydrous sodium acetate (4.102 g for the same 50 mmol) and the same finished buffer needs 25.02 mmol of HCl instead. Enter the normality you actually pipette and the calculator returns millilitres as well as millimoles.
If the bottle gives you a percentage assay and a density rather than a molarity, get the working concentration first with the molarity calculator; if you would rather make 10× once and draw it down, use the stock solution calculator.
The bench procedure, in order
- Calculate the recipe at your use temperature, and check the distance warning: if the target pH is more than about one unit from every pKa of the chosen system, change system rather than adding material.
- Weigh the calculated mass into a clean beaker. Solids dissolve slowly; add the buffer material first, not the titrant.
- Dissolve in roughly 80 % of the final volume of water. The titrant has volume of its own — 150 mL of 1 M NaOH is 15 % of a litre — and the solute displaces water, so a full volume at this stage means an over-diluted, wrongly concentrated finished buffer.
- Add the titrant slowly, with mixing. The calculated amount is a prediction; near the target the pH responds steeply to small additions, so dose the last tenth of the calculated volume in increments and let the mixture equilibrate between them.
- Make up to the mark with water after the titration, not before. Adjusting pH after bringing to volume silently changes the concentration you recorded.
- Measure at the temperature you will use. A pH electrode reads activity, and this arithmetic is a concentration model with no ionic-strength correction, so expect the meter to sit a few hundredths to a tenth of a unit away in a 100 mM salt background. The meter is the release criterion.
- Check capacity against the job. The calculator reports β (mmol·L⁻¹·pH⁻¹) and the integrated reserve over the pH step you need to survive — that is what tells you whether 20 mM is enough or you need 100 mM.
- Filter and store if the buffer will touch cells; a 0.22 µm filter is normal for media components. Label with system, concentration, pH and the temperature the pH was measured at.
Worked recipes, all from the same engine
Every figure below is what the recipe mode prints for that design at 25 °C in 1 L, with 1 M titrant. Masses assume the exact form named.
| Design | Weigh | Then add | Co-ions left |
|---|---|---|---|
| 50 mM acetate, pH 4.756 (from glacial acetic acid) | 3.003 g | 24.98 mmol = 24.98 mL 1 M NaOH | 24.98 mM Na⁺ |
| 50 mM acetate, pH 4.756 (from sodium acetate, anhydrous) | 4.102 g | 25.02 mmol = 25.02 mL 1 M HCl | 50 mM Na⁺ + 25.02 mM Cl⁻ |
| 100 mM phosphate, pH 7.20 (from phosphoric acid) | 9.800 g | 150.0 mmol = 150 mL 1 M NaOH | 150 mM Na⁺ |
| 100 mM HEPES, pH 7.40 (from free acid) | 23.830 g | 44.27 mmol = 44.27 mL 1 M NaOH | 44.27 mM Na⁺ |
| 50 mM Tris, pH 7.50 at 37 °C (from Tris base) | 6.057 g | 32.53 mmol = 32.53 mL 1 M HCl | 32.53 mM Cl⁻ |
| 100 mM citrate, pH 4.00 (from citric acid, anhydrous) | 19.212 g | 102.98 mmol = 102.98 mL 1 M NaOH | 102.98 mM Na⁺ |
| 50 mM glycine, pH 9.60 (from glycine zwitterion) | 3.753 g | 25.04 mmol = 25.04 mL 1 M NaOH | 25.04 mM Na⁺ |
Two of those rows carry a lesson. The phosphate recipe needs 150 mL of titrant for a litre — dissolve and titrate in about 800 mL and the arithmetic still lands. The Tris row is designed against pKa 7.77 rather than the tabulated 8.07, because the source page publishes a temperature coefficient of about −0.025 pH unit per degree between 25 and 37 °C: a Tris buffer that reads 7.5 at room temperature is near 7.2 at 37 °C, and no amount of acid added at the bench recovers the design.
Reading back a mixture you already weighed
The reverse question is just as common: you put 3.0 g of acetic acid and 4.1 g of sodium acetate in a litre, and want to know what you made. The pH mode answers with the charge balance solved for [H⁺] — 4.757 for that pair, with 99.94 mM total buffer and 49.98 mM Na⁺ contributed by the salt itself. The Henderson–Hasselbalch reading of the same beaker is 4.756, so the shortcut is fine here. It is not fine when:
- A second rung of the ladder is engaged. 100 mM citrate at pH 4.00 needs 102.98 mmol of NaOH on the exact balance; a single-bracket calculator asks for 114.81 mmol, 10.3 % more, and if you feed it the correct amount it reads the mixture as pH 3.25.
- The design is far from the pKa. 100 mM acetate asked to sit at pH 3.0 is 1.76 units from 4.756: the balanced recipe needs 0.72 mmol of NaOH, the ratio recipe 1.72 mmol (58 % apart), and 37 % of what little capacity exists is water’s own ions. That is not a weak buffer — it is dilute acid wearing a buffer label.
- The charge cannot sit in one bracket at all. 10 mM phosphate at pH 12.32 takes 1.361 g of KH₂PO₄ plus 36.38 mmol of NaOH, because 46.38 mM of strong ion is required and the buffer can carry at most 10 mM of it; the rest is free OH⁻. Henderson–Hasselbalch has no reading for that mixture, and a tool that prints a number anyway is inventing one.
Choosing the system, and how concentrated to make it
Pick by distance first: a buffer is most resistant at pH = pKa, and capacity falls off as the ratio moves from 1:1. The share of peak capacity you keep is set by the ratio alone — about 89 % at 0.3 unit from the pKa, 73 % at 0.5, 33 % at 1.0, 12 % at 1.5 and 4 % at 2.0. For pH 7.4 among the systems with cited constants: HEPES (pKa 7.5, 0.10 away), phosphate and MOPS (7.20, 0.20), PIPES (6.76, 0.64), Tris (8.07, 0.67).
Concentration then decides how much that protection costs in grams. β is proportional to total concentration, and at the pKa a single-step system reaches β ≈ 0.576 mmol·L⁻¹·pH⁻¹ per mM of buffer: 100 mM acetate gives 57.6, 20 mM MES gives 11.5, 1 mM acetate gives 0.62. Because β is a slope, the honest planning number is the integrated reserve — pushing 100 mM acetate a whole pH unit absorbs about 41 mmol per litre, not the 57.6 that β × 1 suggests, while 20 mM MES survives 0.5 unit on roughly 10.4 mmol per litre. Dilution is where this bites: the buffer term scales with concentration, water’s term does not, so at 1 mM acetate 6.6 % of the capacity is already being spent on free H⁺ and OH⁻ and the meter is measuring the room as much as the buffer.
Common mistakes
- Specifying a pH you cannot buffer — choosing acetate for pH 3.0 or phosphate for pH 4. Because a calculator always returns a number does not mean the design resists change.
- Quoting one pKa for a polyprotic acid. Tables that give citric acid 2.79 or phosphoric acid 2.15 are quoting a single rung; used at pH 4 or 7.2 they produce a recipe that is off by a visible margin.
- Ignoring the co-ion. A phosphate–NaOH buffer and a phosphate–KOH buffer have the same pH and are different experiments for cells, enzymes and metal-dependent assays. So does the same buffer made from the acid plus NaOH versus the salt plus HCl: 24.98 mM Na⁺ versus 50 mM Na⁺ plus 25.02 mM Cl⁻.
- Adjusting pH after making up to volume, then recording the intended concentration.
- Designing at 25 °C and using at 37 °C or 4 °C — Tris moves about 0.025 unit per degree; for most other systems no published coefficient exists, so the design is stated at 25 °C and the temperature of measurement belongs on the label.
- Assuming a dilution keeps its pH. The ratio survives dilution; the water term does not. Below a few millimolar, check the meter and expect carry-over from the rinse water and dissolved CO₂ to matter.
Where this fits in the workflow
Making the buffer is one step in preparing what you actually use: the mass-to-molarity conversions behind it are in how to calculate molarity and what is molarity, the concentrated version is covered in how to make a stock solution, and drawing it down safely is how to prepare a working solution together with the dilution calculator. If the experiment’s real question is where a protein in that buffer stops being soluble, that is a different quantity, computed by the protein isoelectric point calculator. Every tool in this family is collected under the biochemistry calculators.
Scientific Sources
- Wikipedia — Buffer solution
- Wikipedia — Henderson–Hasselbalch equation
- Wikipedia — Phosphoric acid (pKa ladder 2.16 / 7.20 / 12.32)
- Wikipedia — Tris (temperature coefficient of the pKa)
- Wikipedia — Self-ionization of water (pKw anchors by temperature)
External links open in a new tab and carry rel="nofollow". We cite primary references (NIST, NIH/NCBI, peer-reviewed papers) and established manufacturer technical documentation (NEB, Thermo Fisher, Promega, IDT). Calculated results are estimates; your protocol and manufacturer guidance take precedence.