The Henderson-Hasselbalch equation and buffers
How buffers resist pH change, the Henderson-Hasselbalch equation with worked examples, adding strong acid or base, and the 1:10 to 10:1 buffer range.
A buffer is a weak acid and its conjugate base (or a weak base and its conjugate acid) sitting in the same solution in real amounts. The acid half soaks up any added OH-, and the base half soaks up any added H3O+. Because each addition only nudges the ratio of the pair, the pH barely moves. The Henderson-Hasselbalch equation turns that ratio into a pH.
The equation
pH = pKa + log([A-] / [HA])
- [A-] is the conjugate base (for example, acetate from sodium acetate)
- [HA] is the weak acid (for example, acetic acid)
- pKa = -log Ka
It comes straight from rearranging the Ka expression and taking the log of both sides, so it is not a new law. It works because in a buffer both species are present in large amounts, so the little bit each one ionizes or reacts with water can be ignored.
Two facts fall out of it immediately:
- When [A-] = [HA], pH = pKa, because log(1) = 0. This 1:1 point is where the buffer resists change best.
- Only the ratio matters. Both species are in the same volume, so you can use moles instead of molarity. That makes problems with added acid or base much faster.
Example 1: pH of an acetate buffer
A buffer contains 0.20 M acetic acid (Ka = 1.8 x 10^-5) and 0.30 M sodium acetate.
- pKa = -log(1.8 x 10^-5) = 4.74
- Ratio [A-] / [HA] = 0.30 / 0.20 = 1.5
- log(1.5) = 0.18
- pH = 4.74 + 0.18 = 4.92
There is more base than acid, so the pH lands a little above the pKa. That quick sense check catches sign errors: more base means pH above pKa, more acid means pH below it.
Example 2: adding strong base
Take 1.00 L of that buffer (0.20 mol acetic acid, 0.30 mol acetate) and add 0.020 mol NaOH. Assume the volume barely changes.
Do the neutralization first, in moles. OH- reacts with the weak acid: HA + OH- → A- + H2O.
| HA (mol) | A- (mol) | |
|---|---|---|
| Before | 0.20 | 0.30 |
| Change | -0.020 | +0.020 |
| After | 0.18 | 0.32 |
Then apply Henderson-Hasselbalch to the new ratio:
pH = 4.74 + log(0.32 / 0.18) = 4.74 + 0.25 = 4.99
The pH moved by 0.07. The same 0.020 mol NaOH in 1.00 L of pure water would push the pH to 12.30. That contrast is what a buffer is for.
Example 3: adding strong acid
Start again from the original buffer and add 0.020 mol HCl instead. Now H3O+ reacts with the base: A- + H3O+ → HA + H2O.
- HA: 0.20 + 0.020 = 0.22 mol
- A-: 0.30 - 0.020 = 0.28 mol
- pH = 4.74 + log(0.28 / 0.22) = 4.74 + 0.10 = 4.84
The pattern is always the same. Neutralize in moles first, then plug the new ratio into the equation.
Example 4: designing a buffer for a target pH
Solve the equation for the ratio instead:
[A-] / [HA] = 10^(pH - pKa)
Suppose you need an acetate buffer at pH 5.00. It is cleanest to use Ka directly here, since 10^(pH - pKa) is the same as Ka / [H3O+]:
[A-] / [HA] = (1.8 x 10^-5) / (1.0 x 10^-5) = 1.8
So you need 1.8 mol of acetate for every 1 mol of acetic acid. If you use the rounded pKa of 4.74 instead, you get 10^0.26 = 1.82. Both are fine, but it shows why carrying extra digits in pKa matters when a problem asks for a ratio to three sig figs.
Example 5: a weak-base buffer
For a buffer made from a weak base and its conjugate acid, such as NH3 and NH4Cl, use the pKa of the conjugate acid. Ammonia's Kb is 1.8 x 10^-5, so pKb = 4.74 and the pKa of NH4+ is 14.00 - 4.74 = 9.26.
With 0.15 M NH3 (the base) and 0.25 M NH4Cl (the acid):
pH = 9.26 + log(0.15 / 0.25) = 9.26 + log(0.60) = 9.26 - 0.22 = 9.04
The most common mistake here is plugging in pKb, which gives an acidic pH for an ammonia buffer.
The buffer range: 1:10 to 10:1
A buffer works well only while both components are present in meaningful amounts. The usual rule is that the ratio [A-] / [HA] should stay between 0.1 and 10. Since log(10) = 1, that means the useful pH range is pKa ± 1.
So to buffer at a given pH, pick a weak acid whose pKa is within 1 unit of it, ideally close to it. Acetic acid (pKa 4.74) is a good choice for pH 4 to 5.7 and useless for pH 9, where the NH4+/NH3 pair (pKa 9.26) fits.
Outside the range, the equation still gives a number, but the buffer has little capacity left on one side. A 20:1 base-to-acid mixture of acetate would calculate to pH 6.04, yet there is almost no acetic acid left to absorb added base.
Buffer capacity is a separate idea
The ratio sets the pH. The absolute amounts set the capacity, meaning how much acid or base the buffer can absorb before the pH changes sharply. A 1.0 M / 1.0 M acetate buffer and a 0.010 M / 0.010 M one both have pH 4.74, but the first can neutralize 100 times more added acid. Capacity is highest for a given total concentration when the ratio is 1:1.
Where this shows up again: titrations
At the half-equivalence point of a weak acid titration with strong base, exactly half the acid has been converted to its conjugate base. [A-] = [HA], so pH = pKa. That is how a pKa is read straight off a titration curve.
Check your work
The Henderson-Hasselbalch calculator solves for pH or for the ratio, accepts Ka or pKa, and flags any ratio outside the buffer range. If you need a weak acid's pH before any base is added, use the pH calculator and see how to calculate pH for strong and weak acids. The equilibrium setup behind all of it is in ICE tables for equilibrium, step by step. The best-known buffer is in your blood, the carbonic acid and bicarbonate pair, which comes back in the animal physiology units of General Biology II.
Buffers, buffer capacity and titration curves each have their own chapter in Encodr's free General Chemistry II deck.
Henderson-Hasselbalch Calculator
Buffer pH from pKa and the [A-]/[HA] ratio, or the ratio needed for a target pH.
Try it →Encodr turns this into a habit: study anything in a feed, and it schedules the rest.
Get started free