Skip to main content
Chemistry LibreTexts

6.4: Henderson-Hasselbalch Approximation

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Learning Objectives
    • To calculate the pH of a buffer solution
    • To calculate the pH of a buffer solution after the addition of a strong acid or base

    We have straightforward calculations for strong acids and bases, but the computations behind buffers are rather complex and time consuming. The Henderson-Hasselbalch approximation use the fact that weak acids and bases barely ionize, allowing us to approximate the pH of buffer solutions using initial concentrations. Though the approximation has a few restrictions, it simplifies a lengthy calculation into a simple equation derived from \(K\). The basic equation is as follows:

    \[ pH \approx pK_a + \log_{10} \dfrac{[A^-]}{[HA]} \]

    This equation uses the pKa of the acid rather than the Ka. The pKa and the Ka for a given acid are related by the p-function:

    \[pK_a = -log(K_a) \]

    \[K_a = 10^{-pK_a} \]

    Lawrence Joseph Henderson and Karl Albert Hasselbalch

    Lawrence Joseph Henderson (1878-1942) was a talented biochemist, among many other titles, who spent most of his career at Harvard. He was responsible for developing the components of the equation after studying equilibrium reactions that took place within blood as a result of respiration (specializing in "fatigue"). His equation was incomplete without the solid calculations into it provided by Hasselbalch.

    Karl Albert Hasselbalch (1874-1962) was a chemist who studied pH closely. He also studied blood and reactions that took place with oxygen, to put in the simplest of terms. He eventually modified Henderson's equation by putting mathematical logs into it creating a solid relationship.

    Derivation for Buffers from Weak Acids

    For a weak acid \( HA \) and its conjugate base \(A^-\):

    \(HA + H_2O\leftrightharpoons H^+ + A^-\)

    which has an acid ionization constant \(K_a\). The Henderson-Hasselbalch approximation is derived from this acid ionization constant.

    \[ \begin{align} K_a &= \dfrac{[H^+][A^-]}{[HA]} \\[4pt] -\log_{10} K_a &= -\log_{10} \dfrac{[H^+][A^-]}{[HA]} \\[4pt] - \log_{10} K_a &= - \log_{10} [H^+] - \log_{10} \dfrac{[A^-]}{[HA]} \\[4pt] pK_a &= pH - \log_{10} \dfrac{[A^-]}{[HA]} \\[4pt] pH &= pK_a + \log_{10} \dfrac{[A^-]}{[HA]} \label{HH1} \end{align}\]

    pH Calculations for Buffer Solutions

    Equation \ref{HH1} is formulated in terms of equilibrium concentrations in solution. Since \( HA\) is a weak acid and weakly dissociates and we can introduce two approximations

    \[ [HA]\approx[HA]_i\]


    \[ [A^-]\approx[A^-]_i\]

    Hence, we can use the initial concentrations rather than equilibrium concentrations because

    \[pK_a + \log_{10} \dfrac{[A^-]_i}{[HA]_i} \approx pK_a + \log_{10} \dfrac{[A^-]}{[HA]} = pH\]

    Example \(\PageIndex{1}\): Nitrous acid buffer

    Find \([\ce{H3O^+}]\) in a solution of 1.0 M \(HNO_2\) and 0.225 M \(NaNO_2\). The \(K_a\) for \(HNO_2\) is \(5.6 \times 10^{−4}\).


    \[pK_a = -\log_{10} K_a = -\log_{10} (7.4 \times 10^{-4}) = 3.14 \nonumber \]

    \[pH = pK_a + \log_{10} \left( \dfrac{[NO_2^-]}{[HNO_2]}\right)\nonumber \]

    \[pH = 3.14 + \log_{10} \left( \dfrac{1}{0.225} \right)\nonumber \]

    \[pH = 3.14 + 0.648 = 3.788\nonumber \]

    \[[H^+] = 10^{-pH} = 10^{-3.788} = 1.6 \times 10^{-4} \nonumber \]

    Exercise \(\PageIndex{1}\)

    How many grams of sodium acetate \(\ce{NaC2H3O2}\) should be added to 1.0 L of a 1.0 M \(\ce{HC2H3O2}\) solution to prepare a buffer of pH 5.0? (\(K_a\) acetic acid is \(1.75 \times 10^{−5}\).


    \[pKa = -log Ka = -log(1.8 \times10^{-5}) = 4.74\nonumber \]

    \[pH = pK_a + \log_{10} \left( \dfrac{[A^-]}{[HA]}\right) \nonumber \]

    \[5.0 = 4.74 + \log_{10} \left( \dfrac{[A^-]}{[HA]}\right)\nonumber \]

    \[0.26 = \log_{10} \left( \dfrac{[A^-]}{[HA]}\right)\nonumber \]

    \[10^{0.26} = \dfrac{[A^-]}{[HA]}\nonumber \]

    \[1.8 = \dfrac{[A^-]}{[HA]}\nonumber \]

    The solution should have 1.8 times as much acetate compared to acetic acid to achieve a pH of 5.0. In 1.0 L, we need 1.8 mole \(\ce{NaC2H3O2}\).

    \[1.8 \:mol\: \ce{NaC2H3O2} \times \dfrac{82.04\:g\: \ce{NaC2H3O2}}{1\:mol\: \ce{NaC2H3O2}} = 150\:g\: \ce{NaC2H3O2} \]

    The Henderson-Hasselbalch equation is written in terms of an acid, HA, and its conjugate base. But it can also be used to approximate the pH of a buffer solution prepared from a weak base. In this case, we simply calculate the \(K_a\) value from the \(K_b\).

    Exercise \(\PageIndex{2}\)

    You prepare a buffer solution of 0.323 M \(NH_3\) and \((NH_4)_2SO_4\). What molarity of \((NH_4)_2SO_4\) is necessary to have a pH of 8.6? The \(pK_b\) for \(NH_3\) is 4.74.


    \[pK_a+ pK_b = 14\nonumber \]

    \[pK_a= 14 - 4.74 = 9.26\nonumber \]

    \[pH = pK_a + \log_{10} \left( \frac{[A^-]}{[HA]}\right)\nonumber \]

    \[8.6 = 9.26 + \log_{10} \left( \dfrac{0.323}{[NH_4^+]}\right)\nonumber \]

    \[-0.66 = \log_{10} \left( \dfrac{0.323}{[NH_4^+]}\right)\nonumber \]

    \[[NH_4^+] = 1.48 M\nonumber \]

    \[\ce{[(NH4)2SO4]} =\dfrac{1.48}{2}=0.74\:M \]

    Buffer Challenges

    In practice, buffers are used to resist pH change in a reaction system. We anticipate that some amount of strong acid or strong base will be added to a buffer system. We call this "challenging the buffer". To calculate the pH of a solution after a buffer challenge, we use a two step procedure.

    Step 1 - Determine the moles of \(HA\) and moles of \(A^{-}\) that remain following the addition of strong acid or base.

    When a strong acid is added to a buffer solution, we can approximate that it will react completely with the base component of the buffer, \(A^{-} \), to form the acid component, \(HA\). When a strong base is added to a buffer solution, we can approximate that it will react completely with the acid component of the buffer, \(HA\), to form the base component, \(A^{-}\). The first step is to use stoichiometry to determine the amount of HA and A- that remain in solution after the strong acid or strong base addition.

    Step 2 - Determine the pH of the buffer using the Henderson-Hasselbalch approximation.

    Buffer solutions will resist pH change, but they will not prevent it. The next step is to calculate the pH of the buffer solution using the new concentrations that you calculated in Step 1. Note that for a buffer solution, the molar amounts can also be used in the Henderson-Hasselbalch equation since the volume of the buffer solution is the same for HA and for A-.

    Example \(\PageIndex{2}\): Buffering Capability

    What is the pH of a buffer 0.500 moles acetic acid and 0.500 moles acetate ion and the total volume is 5 L when you add 0.035 moles HCl? The \(K_a\) for acetic acid is \(1.75 \times 10^{−5}\).


    Step 1. Determine the moles of acetic acid and moles of acetate.

    HCl is an acid and will react with the basic component of the buffer:

    \[\ce{HCl(aq)}+\ce{C2H3O2^{-}(aq)} \rightarrow \ce{Cl^{-}(aq)} + \ce{HC2H3O2(aq)} \]

    \[ mol\: \ce{HC2H3O2} = 0.500 \:mol \:+ \:0.035 \:mol\: = \:0.535 \:mol \]

    \[ \ce{[HC2H3O2]}\:=\dfrac{0.535\:mol\:\ce{HC2H3O2}}{5\:L\:solution} = 0.107\:M \]

    \[mol \: \ce{C2H3O2^{-}}=0.500 \:mol\: -\: 0.035 \:mol\:=\:0.465\:mol \]

    \[ \ce{[C2H3O2^{-}]}\:=\dfrac{0.465\:mol\:\ce{C2H3O2^{-}}}{5\:L\:solution} = 0.093\:M \]

    Step 2. Determine the pH of the resulting buffer solution.

    \[pK_a = -\log_{10} K_a = -\log_{10} (1.75 \times 10^{−5}) = 4.756\nonumber \]

    \[pH = pK_a + \log_{10} \left( \dfrac{\ce{[C2H3O2^{-}]}}{[\ce{HC2H3O2}]} \right)\nonumber \]

    \[pH = 4.756 + \log_{10} (0.869)\nonumber \]

    \[pH = 4.756 - 0.061 = 4.70\nonumber \]

    Example \(\PageIndex{3}\): effective buffer range

    What is the range of an acetic acid buffer described in problem \(\PageIndex{4}\) without the added \(\ce{HCl}\)?


    The effective buffer range is of magnitude 2 pH units with the \(pK_a\) as the midpoint.

    \[pK_a = -\log_{10} K_a = -\log_{10} (1.75 \times 10^{−5}) = 4.756\nonumber \]

    Hence, the buffer range would be 3.75 to 5.75.


    1. "Henderson-Hasselbalch Equation: Its History and Limitations," Henry N. Po and N. M. Senozan, J. Chem. Educ., 2001, 78 (11), p 1499
    2. National Academy of Sciences (U.S.) Biographical memoirs. City of Washington, 1945. Vol. XXIII, 2d memoir.
    3. Petrucci, et al. General Chemistry: Principles & Modern Applications. 9th ed. Upper Saddle River, New Jersey 2007.

    Contributors and Attributions

    • Gurinder Khaira and Alexander Kot (UCD)

    6.4: Henderson-Hasselbalch Approximation is shared under a not declared license and was authored, remixed, and/or curated by LibreTexts.

    • Was this article helpful?