How this instrument works
The Henderson-Hasselbalch equation estimates the pH of a buffer solution — a mixture of a weak acid and its conjugate base — from just two things: the acid's pKa (a fixed property of the acid) and the ratio of conjugate base concentration to weak acid concentration currently in solution. It reads pH = pKa + log10([A-]/[HA]), where [A-] is the conjugate base and [HA] is the weak acid. Because it works on a ratio rather than absolute amounts, diluting a buffer with water barely changes its pH, which is exactly why buffers are useful: they resist pH swings that would otherwise occur from small additions of acid or base.
The equation falls straight out of the acid dissociation equilibrium HA ⇌ H+ + A-. Ka, the acid dissociation constant, describes how far that equilibrium sits toward products; taking -log10 of both sides of the Ka expression and rearranging turns a multiplicative equilibrium relationship into a simple additive one in log space. That is the whole derivation — no approximation beyond assuming the acid and base concentrations you enter are close to their equilibrium values, which holds well for buffers made from reasonable concentrations of both components.
The most important consequence of the formula is a single special case: when [A-] equals [HA], the ratio is 1, log10(1) is 0, and pH equals pKa exactly. That is why chemists pick a buffering acid whose pKa sits close to the pH they need — at that point the buffer has equal reserves of acid and base to neutralize whatever gets added in either direction, giving it maximum resisting power. Move the ratio away from 1:1 and the buffer still works, but its capacity becomes lopsided toward one side.
- Enter the acid's dissociation constant into pKa of the acid — this is a fixed, tabulated property of the specific weak acid you're using, not something you choose freely.
- Enter the current concentration of the conjugate base into Conjugate base concentration [A-] (mol/L).
- Enter the current concentration of the undissociated weak acid into Weak acid concentration [HA] (mol/L).
- Read pH directly — it updates the moment any of the three fields changes.
- To target a specific pH, work backward: pick an acid whose pKa is close to that pH, then adjust the [A-]/[HA] ratio until pH lands where you need it.
Worked example — an acetate buffer at equal concentrations
Enter 4.76 into pKa of the acid, a standard textbook value for acetic acid, then enter 0.1 into both Conjugate base concentration [A-] and Weak acid concentration [HA] — equal amounts of acetate ion and acetic acid. pH reads 4.76: since [A-]/[HA] = 0.1/0.1 = 1, and log10(1) = 0, the ratio term vanishes entirely and pH equals pKa exactly.
This is the buffer at its most balanced point — equal reserves of acid and base ready to absorb whatever gets added. Raise Conjugate base concentration [A-] without changing Weak acid concentration [HA] and pH climbs above 4.76, because a base-heavy ratio produces a positive log term; lower it instead and pH drops below 4.76 for the opposite reason.
Questions
Why does pH equal pKa when the concentrations are equal?
Because the equation's variable term is log10([A-]/[HA]), and when the two concentrations are equal that ratio is exactly 1. log10(1) = 0 regardless of what the actual concentrations are — 0.1 and 0.1, or 5 and 5, both give a ratio of 1 — so the whole log term drops out and pH reduces to pKa alone. This is why pKa is often described as 'the pH at which an acid is half-neutralized.'
Why does diluting a buffer barely change its pH?
Because the equation depends on the ratio [A-]/[HA], not on either concentration alone. Diluting a buffer with water lowers [A-] and [HA] by the same factor, so their ratio — and therefore the log term and the pH — stays essentially unchanged. This ratio-only dependence is the defining property that makes buffers useful for holding a stable pH across dilution, unlike a solution of acid alone.
What happens to pH if I swap which concentration is which?
The result flips relative to pKa. A base:acid ratio of 10:1 gives log10(10) = +1, so pH = pKa + 1; the same numbers with acid and base swapped give a 1:10 ratio, log10(0.1) = -1, so pH = pKa - 1. Getting [A-] and [HA] in the right fields matters — mixing them up shifts your answer by twice the log term in the wrong direction.
Why pick an acid whose pKa is close to the target pH?
Because a buffer resists pH change best when it has roughly equal reserves of acid and base to consume whatever is added — and that happens when [A-]/[HA] is close to 1, which only occurs when pH is close to pKa. A buffer working far from its pKa still functions, but it has much less of one component than the other, so it gets overwhelmed faster by addition of the scarcer type.
Is the Henderson-Hasselbalch equation exact?
It's a well-tested approximation, not a first-principles law. It assumes the concentrations you enter for [A-] and [HA] are close to their actual equilibrium values, which holds well for buffers at reasonable concentrations (roughly 0.01-1 M) where the acid's own dissociation and water's autoionization contribute negligibly. At very dilute or very concentrated solutions, or with very strong or very weak acids, the approximation degrades and a full equilibrium calculation is more accurate.
Can I use this equation for polyprotic acids like phosphoric acid?
Yes, but one dissociation step at a time. A polyprotic acid such as H3PO4 has multiple pKa values, one for each proton it can lose, and the equation applies separately to whichever conjugate acid/base pair is actually buffering the solution at a given pH. You plug in the pKa for that specific step along with the concentrations of that step's acid and conjugate base form, not the acid's other pKa values.