Skip to main content
Chemistry LibreTexts

7.24: Calculating pH of Buffer Solutions- Henderson-Hasselbalch equation

  • 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}}} \)

    \(\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}\)

    Let us now consider the general problem of finding the pH of a buffer solution which is a mixture of a weak acid HA, of stoichiometric concentration ca, and its conjugate base A, of stoichiom

    \[[\text{H}_{3}\text{O}^{+}]=K_{a}\times \frac{[\text{HA}]}{[\text{A}^{-}]}\label{6}\]

    Taking negative logarithms of both sides, we obtain

    \[-\text{log }[\text{H}_{3}\text{O}^{+}]=-\text{log }K_{a}-\text{log}\frac{[\text{HA}]}{[\text{A}^{-}]}\]

    \[\text{pH}=\text{p}K_{a}\text{+ log}\frac{[\text{A}^{-}]}{[\text{HA}]}\label{8}\]

    Equation \(\ref{8}\) is called the Henderson-Hasselbalch equation and is often used by chemists and biologists to calculate the pH of a buffer.


    Example \(\PageIndex{1}\): pH of Solution

    Find the pH of the solution obtained when 1.00 mol NH3 and 0.40 mol NH4Cl are mixed to give 1 L of solution. Kb(NH3) = 1.8 × 10–5 mol L–1.


    In order to use Eq. \(\ref{9}\),we need first to have the value of

    \(\begin{align}K_{a}\left(\text{NH}_{4}^{+}\right)=\frac{K_{w}}{K_{b}\left(\text{NH}_{3}\right)}\\\text{ }=\frac{\text{1.00}\times \text{ 10}^{-14}\text{ mol}^{2}\text{ L}^{2}}{\text{1.8 }\times \text{ 10}^{-5}\text{ mol L}^{-1}}\\\text{ }=\text{5.56}\times \text{ 10}^{-10}\text{ mol L}^{-1}\end{align}\)

    We also have ca = 0.40 mol L–1 and cb = 1.00 mol L–1. Thus

    \[\begin{align}\left[\text{H}_{3}\text{O}^{+}\right]=K_{a}\times \frac{c_{a}}{c_{b}}\\\text{ }=\text{5.56}\times \text{ 10}^{-10}\text{ mol L}^{-1}\times \frac{\text{ 0.4 mol L}^{-1}}{\text{1.0 mol L}^{-1}}\\\text{ }=\text{2.22 }\times \text{ 10}^{-10}\text{ mol L}^{-1}\end{align}\]

    from which

    and \(\text{pH} = {9.65}\)

    To see why a mixture of an acid and its conjugate base is resistant to a change in pH, let us go back to our first example: a mixture of acetic acid (3 mol L–1)and sodium acetate (2 mol L–1). What would happen if we now added 0.50 mol sodium hydroxide to 1 L of this mixture? The added hydroxide ion will attack both the acids present, namely, the hydronium ion and acetic acid. Since the hydronium-ion concentration is so small, very little hydroxide ion will be consumed by reaction with the hydronium ion. Most will be consumed by reaction with acetic acid. Further, since the hydroxide ion is such a strong base, the reaction

    \[\text{CH}_{3}\text{COOH}+ \text{OH}^{-} \rightarrow \text{CH}_{3}\text{COO}^{-} + \text{H}_{2}\text{O}\]


    will go virtually to completion, and 0.50 mol acetic acid will be consumed. The same amount of acetate ion will be produced. In tabular form:


    Initial Concentration

    mol L-1

    Change in Concentration

    mol L-1

    Equilibrium Concentration

    mol L-1

    H3O+ 2.7 x 10-5 Small approx. 2.7 x 10-5
    CH3COO- 2.00 0.50 2.50 + 2.7 x 10-5 = 2.50
    CH2COOH nbsp; 3.00 (-0.50) 2.50 - 2.7 x 10-5 = 2.50

    Substituting the equilibrium concentrations of base (acetate ion) and conjugate acid (acetic acid) into the Henderson-Hasselbalch equation, Eq. \(\ref{8}\), we have

    \[\begin{align}\text{pH}=\text{p}K_{a}\text{ + log}\frac{[\text{A}^{-}]}{[\text{HA}]}\\\text{ }=-\text{log(1.8} \times \text{10}^{-5}\text{) + log}\frac{\text{(2.50 mol L}^{-1}\text{)}}{\text{(2.50 mol L}^{-1}\text{)}}\\\text{ }=-\left(\text{0.25}-\text{5} \right)+ \text{log}\left(\text{1}\right)\\\text{ }=\text{4.74 + 0}=\text{4.74}\end{align}\]

    The addition of 0.5 mol sodium hydroxide to buffer mixture has thus succeeded in raising its pH from 4.57 to only 4.74. If the same 0.5 mol had been added to a cubic decimeter of pure water, the pH would have jumped all the way from 7.00 up to 13.7! The buffer is extremely effective at resisting a change in pH because the added hydroxide ion attacks the weak acid (in very high concentration) rather than the hydronium ion (in very low concentration). The major effect of the addition of the hydroxide ion is thus to change the ratio of acid to conjugate base, i.e., to change the value of


    As long as the amount of weak acid is much larger than the amount of base added, this ratio is not altered by very much. Since the hydronium-ion concentration is governed by


    the hydronium-ion concentration and pH are also altered to only a small extent.

    The ability of a buffer solution to resist large changes in pH has a great many chemical applications, but perhaps the most obvious examples of buffer action are to be found in living matter. If the pH of human blood, for instance, gets outside the range 7.2 to 7.6, the results are usually fatal. The pH of blood is controlled by the buffering action of several conjugate acid-base pairs. The most important of these is undoubtedly the H2CO3/HCO3 pair, but side chains of the amino acid histidine in the hemoglobin molecule also play a part. (Hemoglobin, a protein, is the red substance in the blood. It is responsible for carrying oxygen away from the lungs.) Most enzymes (biological catalysts) can only function inside a rather limited pH range and must therefore operate in a buffered environment. The enzymes which start the process of digestion in the mouth at a pH of around 7 become inoperative in the stomach at a pH of 1.4. The stomach enzymes in turn cannot function in the slightly basic environment of the intestines.