Phosphate buffer calculator

Grams of monobasic and dibasic phosphate for a target pH, molarity and volume.

Weigh out

How do you calculate a phosphate buffer recipe?

Phosphate buffer is a mixture of the monobasic salt (H₂PO₄⁻, the acid) and the dibasic salt (HPO₄²⁻, the conjugate base). The Henderson–Hasselbalch equation gives the ratio of the two for a target pH, and the total phosphate concentration fixes their sum:

pH = pKa + log₁₀([HPO₄²⁻] ÷ [H₂PO₄⁻])   ⇒   ratio = 10^(pH − pKa)
[HPO₄²⁻] = C × ratio ÷ (1 + ratio)     [H₂PO₄⁻] = C − [HPO₄²⁻]     grams = mol/L × L × MW

The second dissociation of phosphoric acid has a thermodynamic pKa of 7.21 at 25 °C. That value holds at zero ionic strength. A real buffer is full of ions, which stabilise the doubly charged HPO₄²⁻ more than H₂PO₄⁻ and lower the apparent pKa, to about 6.8 in a 0.1 M buffer. By default the calculator corrects for this with the Davies equation:

pKa′ = pKa − 3A × (√I ÷ (1 + √I) − 0.3 I)     I = [H₂PO₄⁻] + 3 [HPO₄²⁻]     A = 0.51 at 25 °C

Because the ionic strength I depends on the ratio and the ratio on pKa′, the two are solved together by iteration. The Davies equation is good to an ionic strength of about 0.5 M; above that, and whenever NaCl or other salts are added, treat the recipe as a starting point. In every case check the pH with a meter and adjust with a little of the monobasic or dibasic solution, not with HCl or NaOH, so the phosphate concentration stays as intended.

Worked example: 0.1 M sodium phosphate buffer, pH 7.4

For 1 L at 25 °C the iteration converges at I = 0.259 M and pKa′ = 6.81. The ratio is 10^(7.4 − 6.81) = 3.87, so the buffer is 79.5 mM dibasic and 20.5 mM monobasic:

  • NaH₂PO₄·H₂O: 0.0205 mol × 137.99 g/mol = 2.83 g
  • Na₂HPO₄ anhydrous: 0.0795 mol × 141.96 g/mol = 11.28 g

Sørensen's classic table lists 19% monobasic and 81% dibasic for pH 7.4, and 39:61 for pH 7.0, which the corrected calculation reproduces. With the uncorrected pKa of 7.21 the same buffer would be 39.2 mM monobasic (5.41 g) and 60.8 mM dibasic (8.63 g), and it would read close to pH 7.0 on a meter instead of 7.4. Switch "pKa used" to thermodynamic if you need to match a protocol that was calculated that way.

Which phosphate salt and hydrate do I have?

Read the formula on the bottle, not only the name. Hydrates contain water of crystallisation that adds weight but no phosphate, so the grams differ considerably between forms.

SaltFormulaMW (g/mol)
Sodium phosphate monobasic, anhydrousNaH₂PO₄119.98
Sodium phosphate monobasic monohydrateNaH₂PO₄·H₂O137.99
Sodium phosphate monobasic dihydrateNaH₂PO₄·2H₂O156.01
Potassium phosphate monobasicKH₂PO₄136.09
Sodium phosphate dibasic, anhydrousNa₂HPO₄141.96
Sodium phosphate dibasic dihydrateNa₂HPO₄·2H₂O177.99
Sodium phosphate dibasic heptahydrateNa₂HPO₄·7H₂O268.07
Sodium phosphate dibasic dodecahydrateNa₂HPO₄·12H₂O358.14
Potassium phosphate dibasic, anhydrousK₂HPO₄174.18
Potassium phosphate dibasic trihydrateK₂HPO₄·3H₂O228.22

Sodium and potassium salts can be mixed; Sørensen's original buffer is KH₂PO₄ with Na₂HPO₄. To weigh out any other compound for a given molarity, use themolarity calculator.

Making the buffer from 1 M stock solutions

Many labs keep 1 M stocks of the monobasic and dibasic salts and mix them by volume. The millimoles needed are the same, so the result table also lists the millilitres of each 1 M stock; make up to the final volume with water. For 1 L of the example above that is 20.5 mL of 1 M NaH₂PO₄ and 79.5 mL of 1 M Na₂HPO₄. Note that 1 M Na₂HPO₄ only stays dissolved while warm; 0.5 M stocks, at double the volumes, are easier to keep.

Phosphate buffer, PBS and when not to use phosphate

Plain phosphate buffer is not PBS. Phosphate-buffered saline is 10 mM phosphate with 137 mM NaCl and 2.7 mM KCl; its recipe is on the buffer recipes page. Phosphate buffers well between pH 5.8 and 8.0, is cheap and barely changes with temperature. It is a poor choice with calcium, magnesium or zinc at millimolar levels (insoluble phosphates), with enzymes that phosphate inhibits, such as phosphatases, and before ethanol precipitation, where it comes down with the nucleic acid.

Frequently asked questions

How do I make 0.1 M sodium phosphate buffer, pH 7.4?

For 1 L, dissolve 2.83 g of NaH2PO4·H2O (monobasic, 20.5 mM) and 11.28 g of anhydrous Na2HPO4 (dibasic, 79.5 mM) in about 800 mL of water, check the pH, adjust if needed and make up to 1 L. These amounts use the apparent pKa of 6.81 at this ionic strength; the classic Sørensen table gives almost the same 19:81 ratio.

What is the pKa of phosphate buffer?

Phosphoric acid has three pKa values: 2.15, 7.21 and 12.32 at 25 °C and zero ionic strength. Phosphate buffer uses the second, the H2PO4−/HPO4 2− pair, so it buffers from about pH 5.8 to 8.0. In real buffers the apparent pKa is lower, about 6.8 to 6.9 at 0.1 M, because of ionic strength.

Why do different calculators give different amounts for the same phosphate buffer?

They use different pKa values. Plain Henderson–Hasselbalch with pKa 7.21 ignores ionic strength and gives a buffer that comes out around 0.3 to 0.4 pH units too low at 0.1 M. Calculators and tables that use an apparent pKa near 6.8 match what a pH meter reads. Either way, check the final pH with a meter.

Can I use potassium phosphate instead of sodium phosphate?

Yes. The ratio of monobasic to dibasic is the same; only the molecular weights change. Potassium phosphate is more soluble in the cold and is preferred for some enzymes and for buffers stored at 4 °C, but it precipitates with SDS, so use sodium phosphate for anything that will meet SDS.

Does the pH of phosphate buffer change with temperature or dilution?

Only slightly with temperature: the pKa falls by about 0.003 per °C, so a buffer made at 25 °C reads about 0.06 higher at 4 °C. Dilution matters more. Diluting a 0.1 M buffer tenfold lowers the ionic strength and raises the pH by roughly 0.2 units, which is why a 10× stock does not have the pH of its 1× dilution.