Solved.tools: Free Online Calculators & Tools

We use cookies for analytics and advertising. Learn more about our cookie policy

Henderson-Hasselbalch Calculator

Last updated: 2 August 2026

Reviewed by Gavin Meiring, Lead research and primary author · Doctoral Candidate (Corporate Governance) · Research and drafting assisted by AI

Solve buffer pH using the Henderson–Hasselbalch equation (pH = pKa + log₁₀([A⁻]/[HA])), or for bases (pOH = pKb + log₁₀([BH⁺]/[B])). Also reports the buffer capacity and indicates whether the buffer ratio is in the effective range.

Acid or base system:
0.2000 M
Common pKa values (click to load):
Was this helpful?


Henderson-Hasselbalch Calculator

The Henderson-Hasselbalch calculator solves the fundamental buffer-pH equation for any acid/base conjugate pair. It returns the pH from a given pKa and the ratio of conjugate base to acid, and reports the buffer capacity (Van Slyke equation), the effective pH range, and a flag for whether the buffer ratio is in the productive operating range.

The Henderson-Hasselbalch equation is the workhorse formula behind every buffer preparation in chemistry, biochemistry, molecular biology, and pharmacology. It is taught in every general chemistry course, appears on every biochemical engineering exam, and is the daily tool of every bench scientist who works with aqueous solutions. This page explains the equation, its derivation, its limits, and the practical use of the calculator.

How to use the Henderson-Hasselbalch calculator

The calculator has four inputs and a "solve for" mode. Because the relationship between pH, pKa, and the conjugate pair concentrations is fixed by the equation, you provide the known quantities and let the tool compute the unknown.

  1. Choose acid or base mode. For an acid HA ⇌ H⁺ + A⁻, use pH = pKa + log₁₀([A⁻] / [HA]). For a base B + H₂O ⇌ BH⁺ + OH⁻, use pOH = pKb + log₁₀([BH⁺] / [B]) and pH = 14 − pOH at 25 °C.
  2. Enter the pKa (or pKb for bases). This is a property of the conjugate pair. For polyprotic acids, choose the pKa closest to your target pH.
  3. Enter both concentrations. [HA] (or [B] for bases) and [A⁻] (or [BH⁺] for bases) in mol/L. Both must be positive and (for accuracy) both should be ≥ 10⁻³ M.
  4. Click Calculate pH. The result shows the solved pH, the formula used, the buffer ratio, the Van Slyke buffer capacity β, the effective pH range (pKa ± 1), and whether the ratio is in the productive 0.1 to 10 range.
  5. Optional, load a pKa preset. Click any of the common buffer systems (acetate, carbonate, phosphate, Tris, ammonium, glycine, citrate) to populate the pKa field with a tabulated value at 25 °C.

The result panel also shows the total buffer concentration C_total = [HA] + [A⁻]. The buffer capacity β scales with C_total, so doubling the buffer concentration doubles β.

What is the Henderson-Hasselbalch equation?

The Henderson-Hasselbalch equation relates the pH of a buffer solution to the pKa of the conjugate acid/base pair and the ratio of the concentrations of the conjugate base and acid:

pH = pKa + log₁₀([A⁻] / [HA])

For a basic buffer, the same form applies with pOH and pKb:

pOH = pKb + log₁₀([BH⁺] / [B])

and the pH is found by pH = 14 − pOH at 25 °C (this varies slightly with temperature because Kw is temperature-dependent; the calculator assumes 25 °C).

The equation is named after two scientists: Lawrence Joseph Henderson (1908, who derived the logarithmic form of the buffer equation) and Karl Albert Hasselbalch (1917, who recast it in terms of pH). The combined form is universally used in modern chemistry and biochemistry.

Derivation from the acid dissociation constant

The acid HA dissociates in water with equilibrium constant Ka:

Ka = [H⁺][A⁻] / [HA]

Taking the negative base-10 logarithm of both sides:

−log₁₀(Ka) = −log₁₀([H⁺]) − log₁₀([A⁻] / [HA])

By definition, pKa = −log₁₀(Ka) and pH = −log₁₀([H⁺]):

pKa = pH − log₁₀([A⁻] / [HA])

Rearranging:

pH = pKa + log₁₀([A⁻] / [HA])

This is the Henderson-Hasselbalch equation. It is an exact rearrangement of the Ka expression, no approximations other than those inherent in the use of concentrations instead of activities (which break down at very high ionic strength, above ~0.1 M).

Buffer capacity, the Van Slyke equation

A buffer resists pH change when strong acid or base is added. The quantitative measure of this resistance is the buffer capacity β, defined as the number of moles of strong acid or base required to change the pH of 1 L of solution by 1 unit:

β = dCb / dpH

where Cb is the concentration (in mol/L) of strong base added. The Van Slyke equation gives β explicitly for a simple acid/base conjugate pair:

β = 2.303 × C_total × Ka[H⁺] / (Ka + [H⁺])²

where C_total = [HA] + [A⁻]. The maximum buffer capacity occurs at pH = pKa, where β_max = 0.576 × C_total. The buffer is effective over the range pKa ± 1 (i.e. from 10% A⁻ / 90% HA to 90% A⁻ / 10% HA), which is why the calculator reports this as the "effective pH range."

Outside this range, β drops rapidly. At pH = pKa ± 2, the buffer capacity is only ~0.19 × C_total, less than a third of the maximum. This is why buffer selection is critical: choose a pKa within ±1 of your target pH.

When the equation is valid

The Henderson-Hasselbalch equation is a useful approximation under specific conditions:

  • Dilute to moderate concentrations. [HA] and [A⁻] both ≥ ~10⁻³ M. Below this, water autoionisation contributes a non-negligible fraction of [H⁺] and the equation becomes inaccurate.
  • Activities ≈ concentrations. The equation uses concentrations, not activities. Above ~0.1 M ionic strength, the activity coefficients deviate significantly from 1 and the equation should be replaced by the full Davies or Debye-Hückel formalism.
  • Negligible acid/base contribution from water. Implicit in the derivation; this fails at very low buffer concentrations.
  • No additional acid/base equilibria. Carbonate buffers, phosphate buffers, and citrate buffers have multiple pKa values; the calculator handles only the pKa you enter (use polyprotic-aware software for mixtures).

Despite these limitations, the equation is astonishingly accurate for the typical 10⁻³ to 10⁻¹ M range and pH 2 to 12, which covers virtually all practical biochemistry and analytical chemistry.

Choosing a buffer for a target pH

The most common laboratory task is to prepare a buffer at a specific pH. The selection rule is simple: choose a conjugate acid/base pair whose pKa is within ±1 of the target pH. This gives you the maximum buffer capacity for the buffer concentration you prepare.

Target pHGood buffer choices (pKa in parentheses)
3.0 to 4.5Citrate pKa₁ (3.13), formate (3.75), acetate (4.76)
4.5 to 5.5Acetate (4.76), MES (6.15)
5.5 to 6.5MES (6.15), citrate pKa₂ (4.76), carbonate pKa₁ (6.35)
6.5 to 7.5Phosphate pKa₂ (7.20), MOPS (7.20), HEPES (7.55)
7.5 to 8.5HEPES (7.55), Tris (8.07), EPPS (8.00)
8.5 to 9.5Tris (8.07), glycylglycine (8.40), borate (9.24)
9.5 to 10.5Ammonia (9.25), CAPS (10.40)
10.5 to 11.5CAPS (10.40), triethylamine (10.75)

Tris is widely used in biochemistry despite having a significant temperature coefficient (ΔpKa/°C ≈ −0.028), so a Tris buffer prepared at 25 °C will be at pH ~7.8 at 37 °C. HEPES, MOPS, and PIPES are preferred for cell culture and enzyme assays because their pKa is less temperature-dependent.

Worked example

Prepare 1 L of 0.10 M phosphate buffer at pH 7.40 using NaH₂PO₄ and Na₂HPO₄ (pKa₂ = 7.20).

  • Target pH = 7.40
  • pKa = 7.20
  • 7.40 = 7.20 + log₁₀([HPO₄²⁻] / [H₂PO₄⁻])
  • log₁₀([HPO₄²⁻] / [H₂PO₄⁻]) = 0.20
  • [HPO₄²⁻] / [H₂PO₄⁻] = 10^0.20 = 1.585
  • C_total = 0.10 M = [HPO₄²⁻] + [H₂PO₄⁻]
  • Let [H₂PO₄⁻] = x, [HPO₄²⁻] = 1.585x
  • x + 1.585x = 0.10 → x = 0.0387 M
  • [H₂PO₄⁻] = 0.0387 M, [HPO₄²⁻] = 0.0613 M
  • For NaH₂PO₄·H₂O (M_w = 138.0): 0.0387 × 138.0 = 5.34 g
  • For Na₂HPO₄·7H₂O (M_w = 268.1): 0.0613 × 268.1 = 16.43 g
  • Dissolve in ~800 mL water, adjust pH to 7.40 with NaOH/HCl, make up to 1 L.

Buffer capacity: β = 2.303 × 0.10 × (6.31 × 10⁻⁸ × 3.98 × 10⁻⁸) / (6.31 × 10⁻⁸ + 3.98 × 10⁻⁸)² = 0.0576 mol/L per pH unit. So adding ~58 mL of 1 M HCl or NaOH to 1 L of this buffer will change the pH by one unit.

Frequently Asked Questions

What is the difference between pH and pKa? pH is the negative log of the hydrogen ion activity (≈ concentration for dilute solutions) in the solution at this moment. It is a state variable, it describes the current solution. pKa is a property of the conjugate acid/base pair; it is the pH at which the concentrations of the acid and its conjugate base are equal. It does not change with concentration. The Henderson-Hasselbalch equation links the two through the ratio of conjugate base to acid.

Why does the ratio matter and not the absolute concentrations? Because the equilibrium constant Ka is a ratio, only the ratio of [A⁻] to [HA] determines the pH, not their absolute values. A buffer with [HA] = 0.001 M and [A⁻] = 0.001 M has pH = pKa (ratio 1) just like a buffer with [HA] = 0.1 M and [A⁻] = 0.1 M. The difference is in the buffer capacity: the 0.1 M buffer has β = 0.115, ten times the β = 0.0115 of the 0.001 M buffer.

What is the effective pH range of a buffer? A buffer is effective over the range pKa ± 1, i.e. from a 1:10 ratio to a 10:1 ratio. Within this range, the buffer capacity β is at least 0.19 × C_total (about a third of the maximum). Outside this range, the buffer is essentially exhausted and the pH changes rapidly with added acid or base. This is why buffer choice is critical: pick a pKa within ±1 of your target pH.

Does the equation work for very dilute buffers? Below ~10⁻³ M, the equation starts to fail because water autoionisation contributes a significant fraction of [H⁺]. The extreme case is a 10⁻⁶ M acetic acid solution, where the Henderson-Hasselbalch equation predicts pH ≈ pKa = 4.76, but the actual pH is closer to 6.5 because the [H⁺] from water dominates. For very dilute solutions, use the full charge-balance / mass-balance treatment instead.

What is the temperature dependence of pKa? Most pKa values have a small temperature dependence. For acetic acid, ΔpKa/°C ≈ 0.0002 (almost no change). For Tris, ΔpKa/°C ≈ −0.028 (much larger). For phosphate, ΔpKa/°C ≈ −0.0028. Buffers prepared at 25 °C may be at noticeably different pH at 37 °C; use a temperature-corrected pKa or measure pH in situ at the working temperature.

Can I use this for polyprotic acids like phosphoric acid or citric acid? Yes, but only for the specific pKa you are using. Phosphoric acid has three pKa values: 2.15, 7.20, and 12.35. The Henderson-Hasselbalch equation with pKa = 7.20 is accurate for the H₂PO₄⁻/HPO₄²⁻ pair in the pH 6 to 9 range. Outside that range, the other pKa values start to contribute and the equation becomes inaccurate. For precise work over the full pH range, use a software package that solves the full mass-balance and charge-balance equations simultaneously.

References