Henderson Hasselbalch calculator: buffer pH and mixing ratio

This Henderson Hasselbalch calculator works out the pH of a buffer from pH = pKa + log([A⁻]/[HA]), as in OpenStax Chemistry. A buffer of 0.10 M acetic acid and 0.10 M sodium acetate has pH 4.74; switch the mode to get the base-to-acid ratio for any target pH.

Example: Calculate: pH of a buffer · Weak acid: acetic acid / acetate (Ka 1.8 × 10⁻⁵) · Acid [HA] 0.1 mol/L · Conjugate base [A⁻] 0.1 mol/L → Result: Buffer pH 4.74. Source: OpenStax, Chemistry 2e, section 14.6 “Buffers”: Henderson-Hasselbalch equation pH = pKa + log([A−]/[HA]); Example 14.20 (0.10 M acetic acid + 0.10 M sodium acetate → pH 4.74; + 1.0 mL 0.10 M NaOH → 4.75); rules for selecting buffer mixtures (read 09.10.2026). Updated: .

mol/L
or moles – the same unit for both
mol/L
e.g. the salt such as sodium acetate
My ToolboxYour inputs are saved in this browser only.

Result

Result
Buffer pH 4.74
Details
ItemValue
pKa = −log Ka4.74
Ratio [A⁻] : [HA]1.00 : 1
log([A⁻]/[HA])0.000
pH4.74
Calculated with the Henderson-Hasselbalch equation at 25 °C Ka values; it assumes that the acid ionizes only slightly (“x is small”) and ignores activity effects, so treat the pH as an estimate and measure it.

How it is calculated

pH = pKa + log([A⁻] ÷ [HA]). [A⁻] is the concentration of the conjugate base (for example acetate from sodium acetate), [HA] that of the weak acid, and pKa = −log Ka. OpenStax derives the equation from the ionization constant and notes that it is valid when the “x is small” assumption holds. With equal concentrations the log term is zero, so the pH equals the pKa.

Examples with acetic acid (pKa 4.74)

[HA][A⁻]RatiopH
0.10 M0.10 M1 : 14.74
0.10 M0.20 M2 : 15.05
0.10 M0.05 M0.5 : 14.44
0.05 M0.15 M3 : 15.22
0.01 M0.10 M10 : 15.74

OpenStax Example 14.20: adding 1.0 mL of 0.10 M NaOH to 100 mL of the 0.10/0.10 buffer turns 1.0 × 10⁻⁴ mol of acid into acetate – 0.0099 mol acid and 0.0101 mol acetate – and the pH rises only from 4.74 to 4.75. You can enter moles instead of concentrations, because only the ratio counts.

Ratio for a target pH

Rearranged: [A⁻] ÷ [HA] = 10^(pH − pKa). For an acetate buffer at pH 5.00 you need 1.80 parts acetate per part acetic acid; a phosphate buffer (pKa 7.21) at pH 7.40 needs 1.56 : 1, a bicarbonate buffer (pKa 6.37) at pH 7.00 needs 4.30 : 1. OpenStax gives two rules of thumb: a good buffer has about equal amounts of both components, and it has generally lost its usefulness when one is below about 10 % of the other – that is a range of roughly pKa ± 1.

The pH of a plain acid or base comes from the pH calculator; for the concentrations of your stock solutions use the molarity calculator.

Frequently asked questions

What is the Henderson-Hasselbalch equation?

pH = pKa + log([A⁻]/[HA]). For 0.10 M acetic acid and 0.10 M acetate: 4.74 + log 1 = 4.74.

How do I calculate the pH of a buffer?

Take the pKa of the weak acid and add the log of base over acid. 0.20 M acetate and 0.10 M acetic acid give 4.74 + 0.30 = 5.05.

How do I make a buffer with a certain pH?

Mix base and acid in the ratio 10^(pH − pKa). For pH 5.00 with acetic acid that is 1.80 : 1.

When does the equation not work well?

When the acid ionizes noticeably (very dilute buffers or stronger acids) or one component is below about 10 % of the other. Then the result is only an estimate.

Which pKa values are used?

From the Ka values at 25 °C in OpenStax Appendix H: acetic acid 4.74, formic acid 3.74, carbonic acid 6.37, dihydrogen phosphate 7.21, boric acid 9.27. You can also enter your own pKa.

Can I use moles instead of molarity?

Yes. Both are in the same volume, so only the ratio matters – 0.0101 mol acetate and 0.0099 mol acetic acid give pH 4.75.

Sources and legal basis

As of: · Editorial policy

Related tools