Phosphate buffer calculator
Grams of monobasic and dibasic phosphate for a target pH, molarity and volume.
Grams of monobasic and dibasic phosphate for a target pH, molarity and volume.
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:
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:
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.
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:
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.
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.
| Salt | Formula | MW (g/mol) |
|---|---|---|
| Sodium phosphate monobasic, anhydrous | NaH₂PO₄ | 119.98 |
| Sodium phosphate monobasic monohydrate | NaH₂PO₄·H₂O | 137.99 |
| Sodium phosphate monobasic dihydrate | NaH₂PO₄·2H₂O | 156.01 |
| Potassium phosphate monobasic | KH₂PO₄ | 136.09 |
| Sodium phosphate dibasic, anhydrous | Na₂HPO₄ | 141.96 |
| Sodium phosphate dibasic dihydrate | Na₂HPO₄·2H₂O | 177.99 |
| Sodium phosphate dibasic heptahydrate | Na₂HPO₄·7H₂O | 268.07 |
| Sodium phosphate dibasic dodecahydrate | Na₂HPO₄·12H₂O | 358.14 |
| Potassium phosphate dibasic, anhydrous | K₂HPO₄ | 174.18 |
| Potassium phosphate dibasic trihydrate | K₂HPO₄·3H₂O | 228.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.
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.
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.
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.
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.
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.
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.
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.