← SciSim / Chemistry
Buffers & Henderson–Hasselbalch
Physical Chemistry #02
⚗️ Section 1 — Interactive Simulation / Buffer Capacity & HH Equation
Acetate Buffer
Phosphate Buffer
Add Strong Acid
Add Strong Base
Buffer Capacity
pH (Buffer)
dimensionless
[HA]
mol/L
[A⁻]
mol/L
Ratio [A⁻]/[HA]
Buffer Cap. β
mol/L/ΔpH
ΔpH added
0.00
units
pKa
Presets
Acetate
pH≈4.76
Phosphate
pH≈7.2
Carbonate
pH≈6.3
Ammonia
pH≈9.26
TRIS
pH≈8.1
Citrate
pH≈5.4
Controls
Buffer Parameters
[HA]₀0.1000mol/L
[A⁻]₀0.1000mol/L
pKa4.76
C_add (strong acid/base)0.000mol/L
Temperature298K
Speed
Sim Speed1.0×
Display
Ion Labels
Buffer Region
Proton Transfer
🧠 Section 2 — The Idea, Step by Step / from "why doesn't it move?" to buffer capacity

Start simple — a chemical shock absorber

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.

Build it up — the tag team and one equation

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:

The one rule that runs a buffer
$$ \text{pH} = \text{p}K_a + \log\frac{[\text{A}^-]}{[\text{HA}]} $$

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 precise picture — how much abuse it can take

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$.

Try this in the sim above

(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.

📐 Section 3 — Equation Derivation / Henderson–Hasselbalch Equation
Henderson–Hasselbalch Equation
$$ \boxed{\text{pH} = \text{p}K_a + \log\frac{[\text{A}^-]}{[\text{HA}]}} $$

Symbol Definitions

SymbolMeaningUnit
pH$-\log[\text{H}^+]$; acidity measuredimensionless
$\text{p}K_a$$-\log K_a$; negative log of acid dissociation constantdimensionless
$[\text{A}^-]$Equilibrium concentration of conjugate basemol L⁻¹
$[\text{HA}]$Equilibrium concentration of weak acidmol L⁻¹
$\beta$Buffer capacity = $|dC_b/d\text{pH}|$; moles of strong base per litre per pH unitmol L⁻¹ pH⁻¹
$C_b$Concentration of strong base added to buffermol L⁻¹
$C_T$Total buffer concentration = $[\text{HA}] + [\text{A}^-]$mol L⁻¹
$K_w$Water autoionization constant, $1.0\times10^{-14}$ at 298 Kmol² L⁻²

Step-by-Step Derivation

Step 1 — Acid Equilibrium Expression
$$ \text{HA} \rightleftharpoons \text{H}^+ + \text{A}^- \quad K_a = \frac{[\text{H}^+][\text{A}^-]}{[\text{HA}]} $$ Rearrange for $[\text{H}^+]$: $$ [\text{H}^+] = K_a \cdot \frac{[\text{HA}]}{[\text{A}^-]} $$
Step 2 — Take Negative Logarithm
$$ -\log[\text{H}^+] = -\log K_a + \left(-\log\frac{[\text{HA}]}{[\text{A}^-]}\right) $$ $$ \text{pH} = \text{p}K_a + \log\frac{[\text{A}^-]}{[\text{HA}]} $$ Note: $-\log(1/x) = \log x$, which converts the sign.
Step 3 — Buffer Action on Adding Strong Acid
Add $\Delta n$ mol/L of strong acid (H⁺) to buffer. By proton balance: $$ [\text{HA}]_\text{new} = [\text{HA}]_0 + \Delta n \quad [\text{A}^-]_\text{new} = [\text{A}^-]_0 - \Delta n $$ New pH via HH: $$ \text{pH}_\text{new} = \text{p}K_a + \log\frac{[\text{A}^-]_0 - \Delta n}{[\text{HA}]_0 + \Delta n} $$
Step 4 — Buffer Capacity Formula (van Slyke)
Differentiating the titration equation $C_b = C_T \cdot \alpha_1 + K_w/[\text{H}^+] - [\text{H}^+]$ with respect to pH: $$ \beta = \frac{dC_b}{d\text{pH}} = 2.303\left(\frac{K_w}{[\text{H}^+]} + [\text{H}^+] + \frac{K_a[\text{H}^+]C_T}{(K_a+[\text{H}^+])^2}\right) $$ Maximum capacity when $[\text{A}^-] = [\text{HA}]$, i.e., pH = pKa: $$ \beta_\text{max} = \frac{2.303 C_T}{4} = 0.576\, C_T $$
Step 5 — Buffer Range
A buffer is effective when $0.1 \le [\text{A}^-]/[\text{HA}] \le 10$, i.e., within ±1 pH unit of pKa: $$ \text{p}K_a - 1 \le \text{pH} \le \text{p}K_a + 1 $$ Outside this range, the ratio becomes extreme and buffering fails rapidly.
Step 6 — Approximations Used (and When Valid)
HH equation assumes $[\text{HA}] \approx C_\text{acid}$ and $[\text{A}^-] \approx C_\text{base}$, which requires: (a) $K_a \ll C$ (not too dilute), (b) the added acid/base does not consume more than ~5% of the buffer components. For $C_T > 0.01$ M and $[\text{A}^-]/[\text{HA}]$ between 0.1 and 10, HH gives pH accurate to ±0.01.

Simulation Variable Mapping

[HA]₀ slider
Initial weak acid concentration. Used directly in HH numerator denominator.
[A⁻]₀ slider
Initial conjugate base. Adjusted dynamically when strong acid/base is added.
pKa slider
Sets the center of the buffer range. pH = pKa when [A⁻]=[HA].
C_add slider
Amount of strong acid (negative) or base (positive) added per simulation step.

Worked Example — Acetate Buffer

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.

References: Atkins, P. & de Paula, J. — Physical Chemistry, 11th Ed. (Oxford, 2018), Ch. 6.4: "Buffer solutions." | Skoog, West, Holler & Crouch — Fundamentals of Analytical Chemistry, 9th Ed., Ch. 9: "Titration curves for complex acid-base systems." | van Slyke, D.D. — J. Biol. Chem. 52, 525 (1922) — original buffer capacity derivation.
❓ Section 4 — FAQ / 7 questions · buffer-specific
🧪 ConceptualWhy does a buffer resist pH change, but not prevent it entirely?
A buffer works by having both a weak acid and its conjugate base present. When you add H⁺, the conjugate base (A⁻) absorbs it: A⁻ + H⁺ → HA. When you add OH⁻, the weak acid neutralizes it: HA + OH⁻ → A⁻ + H₂O. Each neutralization converts one component into the other, changing the [A⁻]/[HA] ratio. Since pH = pKa + log([A⁻]/[HA]), the ratio change causes a pH shift — but it's logarithmic, so the change is small compared to adding the same amount to plain water. Resistance is not absolute: once one component is exhausted, the buffer fails completely.
✦ Key Takeaway: Buffer converts H⁺ or OH⁻ into ratio changes; since log is slow, pH changes slowly — but not zero.
🌍 Real LifeWhere are biological and industrial buffers critically important?
Blood pH (7.35–7.45) is maintained by three overlapping buffer systems: carbonic acid/bicarbonate (dominant, pKa = 6.1), phosphate (H₂PO₄⁻/HPO₄²⁻, pKa = 7.2), and plasma proteins (histidine residues, pKa ≈ 6–8). The carbonate system is so effective because CO₂ can be exhaled, adding a respiratory dimension to pH control. In biotechnology, cell culture media use HEPES (pKa = 7.48) or PBS buffers because cells die if pH deviates by more than 0.1 units. The brewing industry maintains fermentation pH using citrate buffers. Pharmaceutical formulations use buffer systems to keep drug solutions stable: aspirin degrades at pH outside 4–7.
✦ Key Takeaway: Blood, cells, drugs, beer — buffer chemistry is the pH stabilizer of life itself.
🔬 SimulationWhat does the "Buffer Capacity β" mode show in the simulation?
The Buffer Capacity mode plots β as a function of pH using the van Slyke equation: β = 2.303(Kw/[H⁺] + [H⁺] + Ka[H⁺]CT/(Ka+[H⁺])²). You see a bell-shaped curve centered at pH = pKa — this is where the buffer is most effective. The maximum β ≈ 0.576 × CT. There are also small contributions from water at extreme pH values (the "water term" Kw/[H⁺] + [H⁺]). The C_add slider lets you add strong acid or base in real time and watch the operating point move along the β curve and the titration curve simultaneously.
✦ Key Takeaway: β peaks at pH = pKa. Outside ±1 unit of pKa, β drops 4× or more — this is why buffer range = pKa ± 1.
💡 Non-ObviousWhy is the most effective buffer at pH = pKa, not at the most acidic or basic condition?
Buffer capacity β is proportional to [HA][A⁻]/(([HA]+[A⁻])²), which is maximized when [HA] = [A⁻]. This fraction achieves its maximum value of 1/4 at equal concentrations, giving βmax = 2.303 × CT/4. When [A⁻]/[HA] = 10 (pH = pKa + 1), the [A⁻] term dominates and there is very little HA left to absorb H⁺ — the buffer is nearly exhausted for acid. Conversely when [A⁻]/[HA] = 0.1, there is little A⁻ to absorb base. The equal mixture provides maximum reserve on both sides simultaneously — symmetrical buffering.
✦ Key Takeaway: βmax at [HA]=[A⁻] because this maximizes both the acid-absorbing and base-absorbing reserves simultaneously.
🧮 MathematicalHow do I calculate the pH after adding a known amount of strong acid to a buffer?
Use the stoichiometric approach first, then HH. Example: 100 mL of buffer with [CH₃COOH] = 0.100 M, [CH₃COO⁻] = 0.100 M (pH = 4.754). Add 5.00 mL of 0.500 M HCl. Moles in original: HA = 0.010 mol, A⁻ = 0.010 mol. HCl adds: 0.005 L × 0.500 M = 0.0025 mol H⁺. New: HA = 0.010 + 0.0025 = 0.0125 mol; A⁻ = 0.010 − 0.0025 = 0.0075 mol. Total volume = 105 mL = 0.105 L. pH = 4.754 + log(0.0075/0.0125) = 4.754 + log(0.60) = 4.754 − 0.222 = 4.532. ΔpH = −0.22 (small because buffer absorbs H⁺).
✦ Key Takeaway: Calculate moles (stoichiometry first), then concentrations, then apply HH. Never skip the stoichiometric step.
🌌 Deep / AdvancedHow does the carbonate buffer in the ocean relate to climate change?
The ocean is a giant carbonate buffer: CO₂(aq) ⇌ H₂CO₃ ⇌ H⁺ + HCO₃⁻ ⇌ 2H⁺ + CO₃²⁻. As atmospheric CO₂ rises (currently ~420 ppm vs 280 ppm pre-industrial), more CO₂ dissolves, shifting the equilibrium to produce more H⁺ — called ocean acidification. Ocean pH has fallen from 8.25 to 8.10 since industrialization, a 25% increase in [H⁺]. At pH 8.10, the carbonate ion CO₃²⁻ concentration drops, threatening the ability of marine organisms (coral, molluscs, pteropods) to form CaCO₃ shells (Ksp = [Ca²⁺][CO₃²⁻] = 3.3×10⁻⁹). This is a direct buffer equilibrium problem with catastrophic ecological consequences.
✦ Key Takeaway: Ocean acidification is Henderson-Hasselbalch at planetary scale — a buffer being overwhelmed by excess CO₂.
💡 Non-ObviousCan you make a buffer using a strong acid and its salt?
No — this is a common misconception. Strong acids dissociate completely, so there is no equilibrium between HA and A⁻. For example, HCl + NaCl gives Cl⁻ and Na⁺ in solution, but Cl⁻ has essentially zero tendency to accept a proton (its conjugate acid HCl has Ka ≈ 10⁷, so pKa = −7). Without a weak acid-conjugate base equilibrium, there is no buffer action. You need an acid with pKa in the range of the desired pH ± 1. Buffers made from strong acids are called "acidic solutions" not buffers — their pH changes dramatically on dilution or addition of H⁺/OH⁻.
✦ Key Takeaway: Strong acid + its salt ≠ buffer. You need a weak acid (pKa ≈ target pH) and its conjugate base.
Section 4 References: LibreTexts Chemistry — "Buffers" (https://chem.libretexts.org/Bookshelves/Physical_and_Theoretical_Chemistry_Textbook_Maps/Supplemental_Modules_(Physical_and_Theoretical_Chemistry)/Acids_and_Bases/Buffers) | Khan Academy — "Buffer solutions" (khanacademy.org/science/ap-chemistry-beta/x2eef969c74e0d802:acids-and-bases) | MIT OCW 5.111, Lecture 25: "Buffer solutions and Henderson-Hasselbalch" | Chemguide.co.uk — "Buffers"
⚠️ Section 5 — Common Misconceptions / 6 entries
Misconception: "A buffer can neutralize any amount of acid or base."
A buffer has a finite capacity determined by its total concentration CT = [HA] + [A⁻]. Once you consume the conjugate base (by adding strong acid), or exhaust the weak acid (by adding strong base), the buffer fails catastrophically — pH then changes as rapidly as it would in pure water. The buffer capacity β (mol/L per pH unit) quantifies this limit. For a 0.1 M buffer, βmax ≈ 0.058 mol/L/pH — adding more than ~0.05 mol/L of strong acid causes the pH to plunge. In biological systems, buffer failure is life-threatening: diabetic ketoacidosis overwhelms the blood bicarbonate buffer with excess acids.
📖 Skoog et al. — Fundamentals of Analytical Chemistry, 9th Ed., Ch. 9.3: "Buffer capacity." | Taber — Chemical Misconceptions, RSC, 2002.
Misconception: "The Henderson-Hasselbalch equation gives the exact pH in all cases."
HH is an approximation that works well when: (1) CT > 0.01 M (concentrations not too low), (2) the ratio [A⁻]/[HA] is between 0.1 and 10, and (3) the acid is not too strong (pKa between 3 and 11). For very dilute buffers, the H⁺ and OH⁻ contributions from water become significant and must be included in the proton balance. For very strong or very weak acids, the assumption that [HA]_eq ≈ [HA]_initial breaks down. The exact proton condition pH = −log(−Ka/2 + √(Ka²/4 + KaCA/(1+CA/CB))) must be used in such cases.
📖 Atkins & de Paula — Physical Chemistry, 11th Ed., Ch. 6.4, Box 6B: "Limitations of the Henderson-Hasselbalch equation."
Misconception: "Equal volumes of weak acid and its conjugate base always give pH = pKa."
pH = pKa requires equal concentrations, not volumes: specifically [A⁻]/[HA] = 1. If you mix equal volumes of solutions with equal concentrations, you get [A⁻] = [HA], so pH = pKa. But if the concentrations are different (e.g., 0.2 M acid + 0.1 M base, equal volumes), you get [A⁻]/[HA] = 0.5 and pH = pKa − 0.301. Always check concentrations after mixing, accounting for dilution: C_new = C_initial × V_initial / V_total for each component.
📖 Zumdahl — Chemical Principles, 8th Ed., Ch. 15.2: "Calculating the pH of buffered solutions."
Misconception: "Buffers only work for acids. Basic buffers are not possible."
Any conjugate acid-base pair can form a buffer, including pairs with pKa > 7. Ammonia/ammonium (NH₃/NH₄⁺, pKa = 9.26), TRIS base/TRIS·HCl (pKa = 8.07), and carbonate/bicarbonate (CO₃²⁻/HCO₃⁻, pKa = 10.33) are all effective buffers in the basic region. The blood phosphate buffer (H₂PO₄⁻/HPO₄²⁻, pKa = 7.20) operates at slightly basic pH. HH works identically: pH = pKa + log([A⁻]/[HA]) regardless of whether pH > 7 or pH < 7.
📖 Silberberg — Chemistry, 9th Ed., Ch. 19.3: "Preparing and using buffer solutions."
Misconception: "Diluting a buffer makes it stronger (more concentrated buffer = more stable)."
Partially true but subtly wrong. Diluting a buffer does NOT change its pH (as long as HH approximation holds and you haven't diluted so much that the water contribution becomes significant). The ratio [A⁻]/[HA] is unchanged by dilution — both concentrations decrease proportionally. However, buffer capacity β is directly proportional to CT, so dilution reduces β significantly. A 2× diluted buffer has the same pH but half the capacity to absorb added acid or base.
📖 Atkins & de Paula — Physical Chemistry, 11th Ed., Ch. 6.4. | Levine — Physical Chemistry, 6th Ed., Problem 10.37.
Misconception: "You can use any weak acid for a buffer at any pH you want."
A buffer only works effectively within ±1 pH unit of the acid's pKa. Outside this range, the ratio [A⁻]/[HA] becomes extreme (>10 or <0.1), meaning one component is nearly exhausted. For example, acetic acid (pKa = 4.76) cannot make an effective buffer at pH 7 — you would need [A⁻]/[HA] = 10^(7−4.76) = 10^2.24 ≈ 174, meaning only 0.57% would remain as HA. This provides almost no capacity to absorb added acid. For pH 7, you need an acid with pKa between 6 and 8: phosphate (pKa₂ = 7.20), MOPS (pKa = 7.20), or HEPES (pKa = 7.48).
📖 Skoog et al. — Fundamentals of Analytical Chemistry, 9th Ed., Table 9-3: "Common buffer systems and their pKa values."
Section 5 Education Research References: Orgill, M. & Bodner, G.M. — "What research tells us about using analogies to teach chemistry." Chem. Educ. Res. Pract. 2004, 5, 15. | Nakhleh, M.B. — J. Chem. Educ. 1992, 69, 191. | Taber, K.S. — Chemical Misconceptions: Prevention, Diagnosis and Cure, RSC, 2002.