Squeeze a lemon into a glass of plain water and the acidity shoots up almost instantly. Squeeze the same amount of acid into a litre of blood and the pH barely flinches. Blood is buffered: it keeps a weak acid and its chemical "partner" dissolved together, and the pair behaves like a shock absorber, soaking up added acid or base before either one can swing the pH.
The two partners are a weak acid, written $\text{HA}$, and its conjugate base, $\text{A}^-$. They work as a tag team. Pour in acid (extra $\text{H}^+$) and the base grabs it: $\text{A}^- + \text{H}^+ \to \text{HA}$. Pour in base ($\text{OH}^-$) and the acid hands over a proton: $\text{HA} + \text{OH}^- \to \text{A}^- + \text{H}_2\text{O}$. Notice that the total amount of material barely changes — one partner simply turns into the other.
What actually sets the pH is only the ratio of the two, captured by the Henderson–Hasselbalch equation:
When the amounts are equal, the log term is zero, so $\text{pH} = \text{p}K_a$. For an acetate buffer ($\text{p}K_a = 4.76$) that means pH 4.76. Now double the base side: the ratio becomes 2, and since $\log 2 = 0.30$, the pH climbs only to about 5.06. A two-fold change buys just 0.3 pH units — that sluggishness of the logarithm is the whole secret.
The amount of acid or base a buffer can swallow before it gives up is the buffer capacity $\beta$. It is largest exactly when $[\text{A}^-]=[\text{HA}]$ — at $\text{pH}=\text{p}K_a$ — and fades to near-uselessness more than one pH unit away, which is why chemists choose a buffer whose $\text{p}K_a$ lies within $\pm 1$ of the target pH. In the sim, the [HA]₀ and [A⁻]₀ sliders set the starting ratio (and so the starting pH); the pKa slider slides the whole buffering window up or down the pH axis; C_add injects strong acid (negative) or base (positive); and Temperature nudges the water constant $K_w$.
(1) Set [HA]₀ and [A⁻]₀ equal and confirm the pH readout lands right on the pKa value. (2) Open the "Buffer Capacity β" graph and watch the bell-shaped curve peak exactly at $\text{pH}=\text{p}K_a$. (3) Drag C_add toward $\pm 0.1$ and watch ΔpH stay tiny — then lurch suddenly once one partner is used up. That lurch is buffer exhaustion.
| Symbol | Meaning | Unit |
|---|---|---|
| pH | $-\log[\text{H}^+]$; acidity measure | dimensionless |
| $\text{p}K_a$ | $-\log K_a$; negative log of acid dissociation constant | dimensionless |
| $[\text{A}^-]$ | Equilibrium concentration of conjugate base | mol L⁻¹ |
| $[\text{HA}]$ | Equilibrium concentration of weak acid | mol L⁻¹ |
| $\beta$ | Buffer capacity = $|dC_b/d\text{pH}|$; moles of strong base per litre per pH unit | mol L⁻¹ pH⁻¹ |
| $C_b$ | Concentration of strong base added to buffer | mol L⁻¹ |
| $C_T$ | Total buffer concentration = $[\text{HA}] + [\text{A}^-]$ | mol L⁻¹ |
| $K_w$ | Water autoionization constant, $1.0\times10^{-14}$ at 298 K | mol² L⁻² |
Prepare buffer from 0.100 M CH₃COOH and 0.150 M CH₃COONa. pKa(CH₃COOH) = 4.754. T = 298 K.
$\text{pH} = 4.754 + \log(0.150/0.100) = 4.754 + \log(1.50) = 4.754 + 0.176 = \mathbf{4.930}$
Buffer capacity at this composition: $\beta = 2.303 \times \frac{(1.76\times10^{-5})(10^{-4.930})(0.250)}{(1.76\times10^{-5}+10^{-4.930})^2} = 0.138$ mol L⁻¹ pH⁻¹ (just below the maximum $\beta_\text{max}=0.576\times0.250=0.144$, as expected so close to pH = pKa)
Adding 0.010 mol/L HCl: new [HA] = 0.110, new [A⁻] = 0.140. pH = 4.754 + log(0.140/0.110) = 4.858. ΔpH = −0.072.
Without buffer (pure water + 0.010 M HCl): pH would drop to 2.00. Buffer reduced ΔpH by 27-fold.