Acidification of Water

by A.J. deLange

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


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 (in 2 parts) 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.33)  = 0.009332
do = 1 + r1o + r1o*r2o  = 84.95262
f1o = 1/do              = 0.011771
f2o = r1o/do             = 0.97909
f3o = r1o*r2o/do        = 0.009137

Step 2. Compute the mole fractions at pHb = 4.3 (the pH which defines alkalinity).

pHb                     = 4.3
r1b = 10^(pHb - 6.38)   = 0.0083176
r2b = 10^(pHb - 10.33)  = 0.0000009
db = 1 + r1b + r1b*r2b  = 1.0083176
f1b = 1/db              = 0.9917510
f2b = r1b/db            = 0.0082490
f3b = r1b*r2b/db        = 0.0000000077

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) for Ct

Ct = alk/( (f1b - f1o) + (f3o - f3b)  ) =  2.0220

Note that this will always be very 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.04168
r2c = 10^(pH - 10.33)    = 0.00000467
dc = 1 + r1c + r1c*r2c   = 1.04168
f1c =1/dc                = 0.95998
f2c = r1c/dc             = 0.04001
f3c = r1c*r2c/dc         = 0.00000018

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) ) + 10^(-pH) - 10^(-pHo) = 1.93576 + .01

Note that this is also very 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 (.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/L. 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.94/8.75 = 0.216 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  -10.     20      20        36.46
        Lactic          3.08   20      20        90.08
        Phosphoric      2.12    7.20   12.44     98.00
        Sulfuric      -10.      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 and that the pK for this ion probably isn't - 10. By using -10 for the pK I insures that the math will calculate 1 millimole of H+ from each millimole of HCl whatever the (reasonable) target pH. Similarly 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 required =  E/frac   = 1.946/1.655  = 1.176 mM

For lactic acid frac = 0.9881 and

    mM required =  E/frac   = 1.946/.9881  = 1.969 mM

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

   mg required = mM required*Mol.wt. (mg/mM)   = 1.176*192.13   = 225.94 mg

For lactic acid

   mg required = mM required*Mol.wt. (mg/mM)   = 1.969*90.08    = 177.37 mg

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 specific gravity 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 or 1142 mg/mL). In other cases you will have to determine the specific gravity 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 mg/mL). 25% phosphoric acid weighs about 1170 mg/L (specific gravity 1.170). If unable to obtain a specific gravity value you can use 1000 mg/L. 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*1140=319.8 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.37mg/1068mg/mL = 0.166mL 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
ajdel@mindspring.com