Skip to main content
Chemistry LibreTexts

Henderson-Hasselbach Equation

  • Page ID
    40445
  • \( \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}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    The following equation, which relates the pH of an aqueous solution of an acid to the acid dissociation constant of the acid, is known as the Henderson-Hasselbach equation.

    \[ pH = pk_A + \log_{10} \dfrac{[\text{conjugate base}]}{[\text{weak acid}]}\]

    The Henderson-Hasselbach equation is derived from the definition of the acid dissociation constant as follows.

    Consider the hypothetical compound \(HA\) in water.

    \[ HA + H_2O \rightleftharpoons A^- + H_3O^+\]

    The acid dissociation constant of \(HA\),

    \[ K_a = \dfrac{[A^-][H_3O^+]}{[HA]}\]

    \[ K_a \dfrac{[HA]}{[A^-]} = [H_3O^+]\]

    Flip the equation around

    \[ [H_3O^+] = K_a \dfrac{[HA]}{[A^-]} \]

    \[\log_{10}[H_3O^+] = \log_{10} K_a + \log_{10} \dfrac{[HA]}{[A^-]}\]

    Multiply both sides of the equation by -1.

    \[-\log_{10}[H_3O^+] = -\log_{10} K_a - \log_{10} \dfrac{[HA]}{[A^-]}\]

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

    or

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

    According to Henderson-Hasselbach equation, when the concentrations of the acid and the conjugate base are the same, i.e, when the acid is 50% dissociated, the \(pH\) of the solution is equal to the \(pK_a\) of the acid.

    That is, when \([HA] = [A^-]\), then

    \[\dfrac{[A^-]}{[HA]} = 1\]

    via the Henderson Hasselbalch Approximation (Equation \(\ref{HH}\))

    \[pH = pK_a + \log_{10} 1\]

    \[ pH = pK_a\]

    This relationship is used to determine the \(pK_a\) of compounds experimentally.

    Advanced: The Henderson–Hasselbalch Equation is an Approximation

    The Henderson-Hasselbalch equation (Equation \(\ref{HH}\)) is an approximation, with a certain region of validity. By its nature, it does not take into account the self-dissociation of water, which becomes increasingly important in dilute solutions. When concentrations reach somewhere around \(10^{-5}\ mol\ L^{-1}\) or lower, the true \(pH\) will deviate significantly from the value predicted by the HH equation. However, this is not the problem most of the time.

    The reason the HH equation might produce poor predictions when calculating buffer \(pH\) is really because of an oft-made assumption which has nothing to do with the HH equation itself: the weak acid (or weak base is assumed to be so weak that its ionization contributes almost no conjugate base (or conjugate acid) in comparison to the dissolution of the buffer salt</strong>. In other words, we assume the formal concentrations \(C_X\) of species in the buffer are equal to their actual concentrations \([X]\); we replace

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

    for the worse approximation

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

    This assumption is incorrect, but it is used to make the \(pH\) calculation much easier at the cost of accuracy. The resulting approximation breaks down in sufficiently dilute solution, and is already quite noticeable far before reaching water self-dissociation issues. It is also a noticeably poor approximation for weak acids/bases with relatively high ionization constants (say, \(K > 10^{-2}\)).

    So how can we visualize the effect of diluting a buffer without approximations, and where do the approximations start to break down? Let us consider the simple case of solutions of a weak monoprotic acid \(\ce{HA}\) with acid dissociation constant \(K_a\) where the concentration of acid and conjugate base are formally equal. This can be done by titrating half of the weak acid with a strong monoprotic base (e.g. \(\ce{KOH}\)). This problem can be solved exactly (assuming all activity coefficients are equal to 1, which is generally a good approximation for solutions below about \(1\ mol\ L^{-1}\)). The equation relevant to this problem is the following (see this Module for the derivation of this equation):

    \[[H^+]^3+ \left(K_a+\frac{C^o_BV_B}{V_A+V_B}\right)[H^+]^2+\left(\dfrac{C^o_BV_B}{V_A+V_B}K_a-\dfrac{C^o_AV_A}{V_A+V_B}K_a-k_w \right)[H^+]-K_ak_w=0\]

    \(V_A\) is the volume of the weak acid solution being titrated and \(C^o_A\) is its formal initial concentration (before mixing and reacting with the base), while \(V_B\) is a variable volume of strong base solution added with formal initial concentration \(C^o_B\) (before mixing and reacting with the acid). The presence of the self-dissociation constant of water \(k_w\) shows that it is being taken into consideration.

    We can now substitute values as desired to obtain a polynomial in \([H^+]\). I'll set up the volumes and concentrations arbitrarily so we can reach the acid and conjugate base formal concentrations of \(0.3\ mol\ L^{-1}\) as mentioned in the question. We can start off with \(100\ mL\) of weak acid solution at a concentration of \(0.9\ mol\ L^{-1}\) with a dissociation constant \(K_a=10^{-3}\) (this constant can be changed at will). We can reach the target concentrations of acid and conjugate base by adding \(50\ mL\) of strong base at the same concentration \(0.9\ mol\ L^{-1}\) (neutralizing half the original acid). You can check the resulting concentrations after mixing the solutions, if you wish.

    Solving this polynomial, the resulting buffer solution containing formal concentrations \(C_{HA}=0.3\ mol\ L^{-1}\) and \(C_{A^{-}}=0.3\ mol\ L^{-1}\) has \([H^+]=9.93399\times 10^{-4}\ mol\ L^{-1}\). This results in \(pH=3.00288\), which is very close to the value predicted by the approximations made at the start (\(pH=pK_a+log\ 1=pK_a=3\)). For now, they work.

    After looking at this first case, we shall investigate the effects of dilution by factors of 10. This can be performed simply by diluting both the initial weak acid and strong base concentrations by 10 (i.e., \(100\ mL\) of \(0.09\ mol\ L^{-1}\) \(\ce{HA}\) plus \(50\ mL\) of \(0.09\ mol\ L^{-1}\) \(\ce{KOH}\) result in a buffer with acid/conjugate base concentrations of \(0.03\ mol\ L^{-1}\), and so on). Before going into the calculations, it's quite simple to see an issue with the approximation in the second paragraph. Independent of the level of dilution, so long as the concentration of acid and conjugate base remain equal, then according to the approximation, \(pH=pK_a=3\). However, consider the case when starting with a solution of \(\ce{HA}\) with initial concentration equal to \(9 \times 10^{-4}\ mol\ L^{-1}\). This is a weak monoprotic acid, so the initial solution must have \([H^+] < 9 \times 10^{-4}\ mol\ L^{-1}\) and thus \(pH\). Clearly it's impossible to add any amount of strong base to this acid and get a buffer solution with \(pH=3\)! The approximations at the start have broken down at this point.

    Now, for the calculations. To get the proton concentration, replaced every value of 0.9 with 0.09, then 0.009, and so on. With the proton concentration determined, the actual concentrations \([HA]\) and \([A^{-}]\) are compared with the formal concentrations \(C_{HA}\) and \(C_{A^{-}}\). Note that they are almost equal at high concentration, but the error increases quite suddenly at lower concentrations. While the ratio \(\frac{C_{A^{-}}}{C_{HA}}\) is always equal to 1, the ratio \(\frac{[A^{-}]}{[HA]}\) rockets away.

    \[\begin{array}{c|ccc|cc} \hline C_{HA} = C_{A^{-}} \ \ (mol\ L^{-1}) & [HA] \ \ (mol\ L^{-1}) & [A^{-}] \ \ (mol\ L^{-1}) & \frac{[A^{-}]}{[HA]} & [H^+] \ \ (mol\ L^{-1}) & pH \\ \hline 0.3 & 0.29901 & 0.30099 & 1.00664 & 9.93399\times 10^{-4} & 3.00288 \\ 0.03 & 0.029061 & 0.030939 & 1.06464 & 9.39282 \times 10^{-4} & 3.02720 \\ 0.003 & 0.00235421 & 0.0036458 & 1.54858 & 6.45751 \times 10^{-4} & 3.18993\\ 3\times 10^{-4} & 1\times 10^{-4} & 5\times 10^{-4} & 5 & 2 \times 10^{-4} & 3.69897 \\ 3\times 10^{-5} & 1.6539\times 10^{-6} & 5.83461\times 10^{-5} & 35.2778 & 2.83464 \times 10^{-5} & 4.54750 \\ 3\times 10^{-6} & 1.78596\times 10^{-8} & 5.98214\times 10^{-6} & 334.953 & 2.98549×10^{-6} & 5.52498 \\ 3\times 10^{-7} & 1.97992\times 10^{-10} & 5.99802\times 10^{-7} & 3029.42 & 3.30096×10^{-7} & 6.48136 \\ 3\times 10^{-8} & 6.96609\times 10^{-12} & 5.99939\times 10^{-8} & 8612.15 & 1.16115×10^{-7} & 6.93511 \\ 3\times 10^{-9} & 6.09004\times 10^{-13} & 5.99939\times 10^{-9} & 9851.15 & 1.01511×10^{-7} & 6.99349 \\ \hline \end{array} \nonumber\]

    Reference

    1. Henry N. Po and N. M. Senozan, JChemEd, V 78, N 11, November 2001.

    This page titled Henderson-Hasselbach Equation is shared under a All Rights Reserved (used with permission) license and was authored, remixed, and/or curated by Gamini Gunawardena via source content that was edited to the style and standards of the LibreTexts platform.

    • Was this article helpful?