Acidification of Water

by A.J. deLange

Original Posted to HBD #2388, 4/2/97

See revisions list at end

Recently I've had several requests for info on how to calculate the amounts of acid of various types needed to acidify water to a given pH. This post gives formulas which will allow the amount of acid required to be calculated. They are as general as I can make them and apply equally well therefore, to strong monoprotic acids like hydrochloric, and weak, polyprotic acids like citric. It is the latter case which leads to a large part of the complexity. If you put these formulas in a spreadsheet (or program them in FORTRAN or even C++) and play around with them assuming the water pH is less than 8.3 and use strong acids you'll see that there are simplifications which can be made.

The amount of acid is assumed to be that required to move a carbonic/bicarbonate/carbonate system from the original pH of the water (symbolized here by pHo) to a target pH (symbolized simply by pH) plus the amount required to establish the lower pH. Note that there are several factors which make it unlikely that the amount of acid you calculate will bring your water sample to exactly the pH for which you made the calculation. Among these are:

Because of this it is best to measure out the calculated amount of acid and add it gradually to the water being adjusted while checking the pH.

To use these formulas you must know the alkalinity of the water as the alkalinity is the major factor in determining how much acid is required unless, of course, the alkalinity is very low in which case the acid required is just that necessary to supply the H+ ions which establish the pH.

The formulas follow. Example numerical values are given for the acidification of a water sample with an alkalinity of 100 ppm as CaCO3 and a pH of 8.3 to pH 5 using citric or lactic acid.

Step 1. Compute the mole fractions of carbonic (f1o), bicarbonate (f2o) and carbonate(f3o) at the water sample's pH (example: pHo = 8.3)

pHo                      =  8.3
r1o = 10^(pHo - 6.38)    = 83.17638
r2o = 10^(pHo - 10.373)  =  0.00845279
do = 1 + r1o + r1o*r2o   = 84.8794
f1o = 1/do               =  0.0117814
f2o = r1o/do             =  0.979935
f3o = r1o*r2o/do         =  0.00828319

Step 2. Compute the mole fractions at pHb = 4.3 (the pH which defines alkalinity - if you know that your alkalinity was measured byt titrating to a different end point pH, use that pH instead of 4.3).

pHb                     = 4.3
r1b = 10^(pHb - 6.38)   = 0.00831764
r2b = 10^(pHb - 10.373) = 8.45279e-07
db = 1 + r1b + r1b*r2b  = 1.00831764
f1b = 1/db              = 0.9917510
f2b = r1b/db            = 0.0082490
f3b = r1b*r2b/db        = 6.97273e-09

Step 3. Convert the sample alkalinity to milliequivalents/L (example: alkalinity = 100 ppm as CaCO3)

alk = (alkalinity in ppm as CaCO3)/50  = 2.00

Step 4. Solve

Alk = Ct*(Change in Carbonic + change in carbonate) + 1000*(10^-4.3 - 10^-pHo) for Ct

Ct = (alk -1000*(10^-4.3 - 10^-pHo))/( (f1b - f1o) + (f3o - f3b)  ) =  2.02377 - 0.0501 =   1.97366

Note: The pH part of this calculation results in a small correction and can generally be ignored.
Note: Ct will always be close to alk (in mEq/L) as long as the pH of the sample is less than or equal 8.3.

Step 5. Compute mole fractions at desired pH (example: pH 5)

pH = 5
r1c = 10^(pH - 6.38)      = 0.0416869
r2c = 10^(pH - 10.373)    = 4.23643e-06
dc = 1 + r1c + r1c*r2c    = 1.04169
f1c =1/dc                 = 0.959981
f2c = r1c/dc              = 0.0400187
f3c = r1c*r2c/dc          = 1.69536e-07

Step 6. Use these to compute the milliequivalents acid required per liter (mEq/L)

Acid required = Ct*(Change in Carbonic + change in carbonate)

E = Ct*(  ( f1c - f1o) + (f3o - f3c) ) + 1000*10^(-pH) - 1000*10^(-pHo) =   1.88777 + .0100 = 1.89777

Note that this is also close to the alkalinity (expressed as mEq/L). The alkalinity is the amount of acid required to get to pH 4.3. 'E' is the amount of acid required to get to a somewhat more basic pH. The last two terms (sum .01) give the acid which would be required if no carbonate or bicarbonate were being "neutralized". This is the amount of acid that would be required if distilled water were being acidified.

Step 7. If the acid is labeled in terms of its normality (i.e. 1 N, 0.1N) recognize that a milliter contains the same number of mEq as the normality of the acid e.g. 1 N acid contains 1 mEq/mL, 0.1N contains 0.1 mEq/mL. Of the acids typically used only hydrochloric and sulfuric are likely to be labeled in this way. Divide 'E' by the number of mEq/mL to get the number of mL of acid to add to each liter of the water. Thus if 8.75 N acid (approximate strength of hardware store hydrochloric acid) were being used with the example water 1.89777/8.75 = 0.217 mL would be required for each liter being acidified.

Step 8. If the acid is not labeled by its normality then you must compute the number of millimoles (mM) required to give the needed number of mEq and then convert that to a weight or volume. This is not necessary if the acid is labeled in terms of its molarity (e.g. 2 M, 0.1M) in which case each milliliter contains the same number of mM as the strength. One mL of 1M acid contains 1 mM. Start by computing the number of mEq of H+ obtained from 1 mM of the acid at the target pH. To do this you will need all the pK's of the acid being used. The following table gives values you can plug into the formulas which follow (you will need the molecular weights later):

        Acid            pK1     pK2     pK3     Mol. Wt

        Acetic          4.75    20     20        60.05
        Citric          3.14    4.77    6.39    192.13
        Hydrochloric   -7.     20      20        36.46
        Lactic          3.86   20      20        90.08
        Phosphoric      2.12    7.20   12.44     98.00
        Sulfuric       -1.      1.92   20        98.07
        Tartaric        2.98    4.34   20       150.09

I hope the chemists will appreciate that I know that hydrochloric acid, for example, only has one hydogen ion to give. The use of +20 for the second and third pKs will result in calculation of insignificant additional amounts of hydrogen ions from the second and third nonexistant dissociations. This artifice allows the same formulas to be used for any of the acids we are likely to encounter.

The "fraction" (in quotes because it may be a number biggert than one) of moles of acid which release a hydrogen ion are found from the following formulas.The pK's for the example numbers are for citric acid:

pK1 = 3.14
pK2 = 4.77
pK3 = 6.39
pH  = 5
r1d = 10^(pH - pK1)     = 72.4436
r2d = 10^(pH - pK2)     = 1.6982
r3d = 10^(pH - pK3)     = 0.0407
dd   = 1/(1 + r1d + r1d*r2d + r1d*r2d*r3d)      = 0.004963
f1d = dd        = 0.004963
f2d = r1d*dd    = 0.359553
f3d = r1d*r2d*dd        = 0.6106087
f4d = r1d*r2d*r3d*dd    = 0.0248750
frac = f2d + 2*f3d + 3*f4d      = 1.655395

It's not necessary to go through all this for hydrochloric acid which will give frac = 1 for any pH or sulfuric which will give frac ~ 2 unless the pH is below about 4 (e.g. if the water is being acidified for yeast washing).

Step 9. Now divide the mEq required by the "fraction". This is the required number of moles of acid. For the citric example:

    mM/L required =  E/frac   = 1.89777/1.655395 =    1.14641 mM/L

For lactic acid frac = 0.93245 and

    mM/L required =  E/frac   = 1.89777/0.93245 = 2.03525 mM/L

Step 10. Multiply by molecular weight of the acid (192.13 mg/mM for citric)

   mg required = mM required*Mol.wt. (mg/mM)   = 1.14641*192.13 = 220.3mg

For lactic acid

   mg required = mM required*Mol.wt. (mg/mM)   =2.03525*90.08 = 183.335mg

This is the weight of acid required to treat each liter of water. If the acid is a solid, like citric, it can be now be weighed out. If it is a liquid, like lactic, it will be necessary to determine the volume of liquid which gives the desired weight of acid (see Step 10).

Step 10. Liquids are usually labeled according to the percentage of their weight which is the acid, for example, 88% lactic acid, 25% phosphoric acid and 28% hydrochloric acid are typical labelings. In order to calculate the volume of liquid which contains a given weight it is necessary to know the density of the liquid. In some cases this is specified on the label (for example 28% HCl is labeled 18 Baume which converts to about 1.142 specific gravity implying a density of 1139 mg/mL). In other cases you will have to determine the density by the use of tables in the CRC handbook (sulfuric) or weigh a small known quantity of the acid. 88% lactic acid, for example, weighs about 1214 mg/mL (and thus has a density of about 1.214 g/mL). 25% phosphoric acid weighs about 1170 mg/mL (specific gravity 1.170). If unable to obtain a specific gravity value you can use 1000 mg/mL. The three examples just given indicate that you would incur errors of 14 - 21% by doing that. This may seem like a lot of error but it really isn't especially if you are going to add measured acid gradually until the target pH is reached.

The mg of acid per mL is the product of the mg/mL weight of the acid times the percent acid expressed as a fraction. Thus for 28% HCl it is 0.28*1139=318.9 mg/mL, for 88% lactic acid, .88*1214 = 1068 mg/mL and for 25% phosphoric acid,.25*1170 = 292.5 mg/mL. The final step is to divide the required mg of acid by the mg/L for the particular strength acid. Using 88% lactic acid to bring a liter of the example water to pH 5 would, thus, require 177.344mg/1068(mg/mL) = 0.1717 mL of the 88% solution.

With all that there are bound to be some mistakes but, as always, I hope no serious ones.

A.J. deLange

18 Aug 2008: pK1 values for hydrochloric and sulfuric acids changed to actual approximate values.
26 Aug 2008: Factor of 1000 added for pH terms in Acid Required (E) formula. Example numbers were correct.
29-Dec-2010: Typos in acid density corrected. Buffering capacity of water included. Other minor errors corrected.