Measuring Alkalinity

Alkalinity - What is it?

Alkalinity is the property of water with which brewers are most concerned. Fortunately it is also the easiest water parameter to measure. Alkalinity is defined in terms of the number of milliliters of 0.1N (i.e. one tenth normal) acid which must be added to a 100 mL sample of the water in order to bring its pH to a specified end point pH. The number of milliliters required to do this is the value of the alkalinity when alkalinity is expressed in mVal or milliequivalents per liter (mEq/L). This is the most fundamental way to express alkalinity but it is common practice to scale the mVal number by a factor that depends on the country. In North America the mVal are multiplied by 50 (half the molecular weight of calcium carbonate) and the resultant units are 'mg/L as calcium carbonate' or 'ppm as calcium carbonate'. In Germany the mVal are multiplied by 2.804 (1/20th the molecular weight of calcium oxide) and the units called 'degrees Härte' abbreviated dH. 

The end point pH is, in brewing, typically pH 4.3 but ISO 9963 calls for an end point of 4.5 and other values may be used by other laboratories depending on the estimated alkalinity (for example Hach recommends 4.9 for alkalinity about 30 ppm as CaCO3; 4.6 for alkalinity about 150; 4.3 for alkalinity about 500 and 4.5 when silicates or phosphates are present) and some may use an equivalence end point i.e. one at which the concentrations of bicarbonate ion and hydrogen ion are the same. In the measurement procedure described in Standard Methods for the Examination of Water and Wastewater the choice of end point pH is left to the analyst but he is obligated to report it. No one ever does this so there may be uncertainty as to what the end point pH is and, therfore, an uncertainty in the reported value of alkalinity. The uncertainty in alkalinity caused by uncertainty in end point pH is small. For example, water which measured alkalinity 100 to an end point pH of 4.5 would measure 101.6 (1.6% higher) to end point 4.3 (you would need to add more acid to get to the lower pH but not much). As the ISO standard calls for a particular pH, 4.5, and as using that pH does not violate the Standard Methods prescription it probably makes sense to use 4.5 in your own work and in reporting but you should state that this was the value you used.

The previous paragraph should make it clear that alkalinity is a measure of the degree to which a water sample resists reduction in pH when acid is added. Water with alkalinity 100 requires twice as much acid to reach the end point pH as water with alkalinity 50. That is why it is so important to brewers. In the mash tun we want pH of around 5.4. We must add enough acid to lower the pH of the water to that level and we must add enough acid to lower the pH of the grist to that level.

In potable water, and we hope you wouldn't brew with anything else, there are two sources of alkalinity: the bicarbonate ion and the carbonate ion. The former is predominant unless the pH of the sample is high (say above 8) in which case a third ion, the hydroxyl ion, starts to play a role. When acid is added to water containing bicarbonate the following reaction takes place:

The bicarbonate ion is converted to carbon dioxide and leaves the solution. The reaction is the same in the lab when we measure alkalinity and in the brewery when we acidify liquor for mashing (or acidify it in the mash tun). Thus alkalinity is a measure of the amount of acid we will need to add, per unit of water, to dispose of the bicarbonate in it. It is not an exact measure because alkalinity is done by titration to pH 4.3 or 4.5 whereas in the mash tun we only titrate to perhaps 5.4.

The following figure may help you to understand these concepts. When limestone (calcium carbonate) dissolves in water it separates into three species: carbonic acid, bicarbonate ion, and carbonate ion. The writer refers to these collectively as carbo species. If one mole of calcium carbonate (100 grams) is dissolved there will be a total of 1 mole of carbo. The three curves on the figure represent the fractions of each of the three species relative to the total carbo. This depends on pH. For example, at pH 7 about 20% of the total carbo will be in the form of carbonic acid and the rest, less a tiny bit of carbonate, will be bicarbonate. This is why we say that at normal pH's (between, say, 6.5 and 10.3) bicarbonate dominates. Over 60% of the originally dissolved limestone's carbon atoms are in bicarbonate ions in this band.


Adding acid moves us to the left along the three curves (and adding base moves us to the right). The amounts of acid can be calculated from the curves if we know the total carbo. Details on how to do this are here. For the current purpose we just want to enforce the idea that alkalinity measured to a lower end point pH will require more acid that when a higher end point is used and that the amount of acid required to bring the water to mash pH, which is tantamount to titrating it to mash pH, will be less than the alkalinity predicts.

Why Not Titrate to Mash pH?

 Why not indeed? Per Standard Methods you are free to do exactly that if you want to and that would, of course, yield the most valuable information for your purposes. But an alkalinity you publish on a bulletin board or e-mail to another brewer won't be useful for comparison unless done to a more standard pH. If you are detecting end point with a pH meter, which is greatly to be preferred as it eliminates variances due to illuminating light color, color adaptation, color blindness, fatigue etc., you can easily titrate to mash pH and write down that alkalinity and then go on to titrate to pH 4.5 or 4.3 and write those numbers down as well. In fact you can record data for the entire titration curve if you want to (see the example below).

Materials and Equipment Required

Titration for alkalinity determination clearly requires the following things

  • A means of accurately measuring out 100 mL of sample
  • Something to hold the sample
  • 0.1N acid
  • A pH meter or dye that will change color at the end point pH
  • A means of accurately dispensing closely controlled amounts of acid
  • A stir plate and stir bar (optional but many brewers have these for yeast propagation)

Thus you are going to need a few pieces of laboratory equipment though you could clearly measure out 100 mL of sample with a kitchen measuring cup, do the titration in the cup and use a calibrated syringe, available from a pharmacy, to measure out the acid, but you will still need the acid. Even this you could obtain from hardware or auto parts stores but you would have to dilute this greatly (dilution introduces error) and these acids are corrosive, can burn you, are poisonous etc and are, thus, to be avoided. 0.1 N acid won't burn you but should still be treated with respect. While there are many places you can obtain the materials you need Cynmar has always been friendly to home brewers and can supply the things you need at modest prices. Below I have put links to the individual items that you will need from Cynmar's website. These are all inexpensive which means that they are 'Student Grade' which is adequate for our purposes and will certainly grant accuracy better than that available from drop count kits. If you catch fire on this sort of thing you can always buy higher grade glassware later on. 

To measure sample: The easiest way to do this is by means of a graduated cylinder ($5).

To hold the sample: The usual container is a 250 mL Erlenmeyer Flask. The ones linked to here are dirt cheap ($2 each) but the catch is that they only sell them by the dozen. At this price that shouldn't be much of a concern. There are lots of uses for 250 mL Erlenmeyer flasks.

The Acid: Hydrochloric acid can be used but some HCl leaves the solution over time weakening it.  0.1N sulfuric acid is a better choice from the stability viewpoint. At 0.1N it doesn't have to be diluted. A liter is about $10.

pH meter: We won't discuss those or recommend one here. There are plenty of places to find lengthy debates on the merits (or lack thereof) of various manufacturers offerings.

Indicator: If you do not have a pH meter Bromcresol Green-Methyl Red is the indicator of choice for this application. Cynmar does not carry it. Enough for 50(?) tests: $16.

Buret: This is the name we give to any device which dispenses a desired volume of liquid with high precision. The traditional buret is something like this one ($24) though there are similar items with a glass stopcock for about $8 less. The PTFE stopcock makes life a lot easier as they cannot 'weld' into the valve as glass can and do not need to be lubricated. Note that this example is readable to 0.05 mL and consider the implications of this. 0.05 x 50 = 2.5 and this is thus the precision, in ppm as CaCO3, with which alkalinity can be read using this buret (or perhaps one could read to 1/2 these minor divisions). One can decrease that number by, for example, usuing 0.05N acid (dilute 0.1N 1:1 with distilled water). A buret of this type must be supported by a stand ($19). A thistle funnel ($3) makes filling this type of buret much easier. Graduated syringes can be used as burets, are less expensive ($12 for 10 of them) are easy to clean, are unbreakable and, best of all, you don't need a stand and clamps to hold them in position. Building on the idea of the syringe we come to the  Digital Titrator ($266 kit including graduated cylinder, flask…see photo below under Example) which is an excellent way to do titrations including ones for hardness and chloride) but has lofted us out of the realm of inexpensive.

Your costs could be as much as $102 (conventional buret, stand and indicator) or as little as $50 if you use syringes and already have a pH meter.


Finally we get to the details of how to do an alkalinity measurement

  1. If a pH meter is being used prepare buffers and calibrate the meter
  2. If a conventional buret is being used assemble the buret to the stand pacing the buret at such a height as will allow drops to fall into the flask, which will be on a stirplate placed on the base if one is available. Fill it to the reference level with 0.1N acid. You can fill to slightly above the reference level and then manipulate the cock to let enough out to bring down to the reference mark. If you have trouble hitting 0 exactly just get close and subtract whatever level you do hit from subsequent reading. Make all readings to the curved part of the meniscus.
  3. Fill the graduated cylinder to the 100 mL mark with sample
  4. Add a stir bar to the flask (if a stir plate is being used), carefully pour the sample into the flask and place the flask on the stir plate under the buret tip. Do not start the stir plate.
  5. Lower the pH electrode into the sample or add enough indicator to allow you to clearly see the color. 
  6. Move the pH electrode around in the solution until you get a stable pH reading. This is not critical and may be hard to do if your water contains a lot of carbon dioxide. This is not critical. Note the pH.
  7. Turn on the stirplate at very slow speed.
  8. Operate the buret,of whichever type, to admit a small amount of acid. Wait for it to react and for the pH meter reading to stabilize and write down the buret reading and pH.
  9. Repeat until the target pH reading is indicated on the meter or, if using the indicator, until the solution turns light pink (pH 4.5).

Learning to do this will take some practice. The mistake you will make most often is overshooting the endpoint. Looking at the bicarbonate (blue) graph above you will see that it has flat parts and steep parts. pH changes slowly with the amount of acid added on steep parts of the curve and quickly where the curve is shallow. Thus a given amount of acid added will cause a much greater pH shift near 8.3 or 5 than it will between 6 and 7 (where bicarbonate is said to 'buffer' pH). You need, therefore, to be very careful as your pH drops below 6 admitting allowing only one drop at a time to leave the buret (ultimately buret titration becomes drop count titration with the difference being that you know better what the cumulative volume of the drops were. This is illustrated in the example below.

As you gain experience with you water you will know about what to expect even if there is seasonable variation. This will help you in determining when to take your foot off the gas and you won't overshoot as often.

Calculating the Result

When you have reached end point take the final buret reading and subtract the Step 2 reading. This is the number of mL of 0.1N acid you have dispensed and is the alkalinity in mEq/L. Multiply by 50 for ppm as calcium carbonate or another factor for another system of units.

Increasing Acuracy and Range

We noted above that, for example, the example buret could only be read to 0.05 mL implying precision of 0.05 mEq/L which corresponds to 2.5 ppm as calcium carbonate. If, for example, the sample is known to have less than 50 mg/L alkalinity we expect to use less than 1 mL of  0.1 N acid and a 2.5 mEq/L reading error would correspond to 5%. If we used 0.05N acid the measured alkalinity is now half the number of mL used and, as the precision is 0.05 mL that corresponds to 0.025 mEq/L or 1.25 ppm as calcium carbonate. The buret reading error is reduced to 2.5%.

Looking in the other direction, if the alkalinity were, for example, over 400 ppm as calcium carbonate (8 mEq/L) we would expect to use 8 mL 0.1N acid. In this case we might want to make the sample size half of 100 mL (i.e. 50 mL) and have the alkalinity be twice the number of mL of 0.1N acid. The 0.05 mL precision of the buret now translates to 0.1 mEq/L or 5 ppm as calcium carbonate. In order that indicator color be consistent we might prefer to dilute 50 mL of sample with 50 mL of deionized water rather than just work with 50 mL of water.

Any other combination of acid strength and sample size can be used according to the expected value of the alkalinity and the desired precision.


While dilution grants us infinite flexibilty in terms of sample and acid concentration it introduces error because whereas with out it we only need measure the sample volume and subject ourselves to the measurement error associated with that single measurement with dilution we must measure the diluent volume as well and live with the error in that meausurement too. Assuming the measurement erros to be independent they will add by root sum square. Thus if we have a 1% error in measuring sample and 1% in measuring diluent the combined error will be 1.4%.


This photograph shows what 100 mL of my tap (well) water with a few Bromcresol Green-Methyl Red crystals dissolved in it looks like as posed beneath the business end of a traditional buret. The black device is a pH electrode. The white piece of paper is there to serve as a background to make the colors of the indicator easier to see in the photos that follow. The flask contains a stir bar which gently agitates the solution as 0.1 N sulfuric acid is admitted from the buret. In this case the sulfuric acid was prepared by adding approximately 5 mL of concentrated (96%) sulfuric acid to water and making up to 50 mL. This solution was assayed by measuring its density and proved to be 18.03% sulfuric acid by weight. It therfore contains 1.838 mmol sulfuric acid per gram or 3.676 mEq/gram.  0.1 N sulfuric acid contains 100 mEq/L and 100 mL would have 10 mEq which can be supplied by 2.719 grams of the 18.03% solution. So we tared a 100 mL volumetric flask and pipetted in 2.719 grams of this solution and then added water to make 100 mL. It is much easier to buy 0.1 N acid from a supplier. The flask sits on an inverted ceramic dish. This is to insulate it from heat generated by the stirrer motor in the stir plate so the temperature will stay fairly constant.


If you are not interested in the details of the pH meter titration scroll down to the photographs showing the dye color changes.

The pH meter is not shown in the photograph. It sends millivolt and temperature readings from the electrode to the computer which converts them to pH readings using temperature data and voltage measurements on pH 4 and pH 7 NIST buffers. Millivolts, temperature and the pH (as calculated by the meter and the computer) are recorded. The following graph shows the step response of the electrode to the change from pH 4 to pH 7 buffer during calibration to give you an idea of the electrode's response time. This electrode has been in service for over 3 years and so is a bit slower than when it was new. Red circles indicate computer calibrated pH measurements and green triangles temperature measurements. The dashed line (barely visible) are the pH readings as reported by the meter i.e. using the last calibration we did in the meter. That was years ago as we now do calibration in the computer. It is interesting to note that the differences between a current cal and one done years ago is only 0.044 pH at pH 7 and 0.066 at pH 4 (with buffers specified at ± 0.02 pH) but this electrode still has slope of 98.7% and offset of only 4.95 mV. Even though its isoelectric pH is 8.38 it has been an excellent electrode.

At 18 °C the pH of 7 buffer is 7.02. This electrode took 52 seconds to get to pH 7.01 from the time of the immersion in the 7 buffer. but it took an additional 3 minutes to go the last 0.01 pH to 7.02.  In the titration plots we allow at least 4 minutes between acid additions to be sure the electrode reading has stabilized. 


The graph below shows recorded pH values over the time it took to do the titration experiment.

We start by noting that the pH initially reads quite low. The initial reading is low because the test water comes from a well and presents at pH 6.4 because it is super saturated with respect to CO2. As time passes CO2 leaves the solution resulting in an increase in pH. You might think this would change the alkalinity and it does but the change is small. For example, water with an alkalinity of 142 (about what the alkalinity of this water is) would, upon losing 35% of its carbo as carbon dioxide, rise to pH 7 but the alkalinity would only increase to 143.2 (theoretically). Were we to allow this water to stand for days it would continue to lose CO2 until nearly half the carbo was gone and its pH would be then be 8.72 but its alkalinity would still be close to the pH 6.4 value having increased to 143.8. We mention this because one might think that it is necessary to start titration immediately in order to avoid the effects of COloss but this is not the case as CO2 converts to bicarbonate as fast (or actually a little faster) than it leaves the solution. Because of this one can in fact start the titration any time he is ready and inclined to do so. We have shown about 40 minutes worth of history to give an idea as to how the pH changes over that time and especially that the rate of change slows as the pH increases and the difference between the partial pressure of CO2 in the solution and the air becomes smaller.


At 15:22 we added 86 mg of bromcresol green-methyl red indicator which is furnished as a powder made up of crystals of the two indicators. This is  just enough to give a clearly perceptible color as shown in the photo but is equivalent to 860 mg/L. This may sound like a lot but brocresol green has a molecular weight of 698 and methyl red 269.3 so the molar amounts are small. Nevertheless as you  can see from the pH plot the indicator is an acid (pKa = 4.8 for BCG and 5.1 for MR i.e. they are about as strong as acetic acid). It gives up protons to a solution at pH higher than the pK's causing a drop in the pH of that solution and, as pH 7 is a pH where buffering is appreciable the indicator's acidity is clearly also appreciable. It should be clear from this that we want to use as little indicator as possible while still having perceptible color. We could probably have used half as much but we wanted plenty of color for the photographs. Note that as we decrease the pH further by adding H2SO4 during the titration we will be pushing protons back onto the deprotonated dyes causing the color change that lets us detect the endpoint.

The blue 'staircase' shows when we added acid and the cumulative amount (right axis). The first increment of 1 mL (which delivers 0.1 mEq to 0.1 L of sample and is thus equivalent to 1 mEq/L or 50 ppm as CaCO3), was added at about 15:28. The pH starts to drop sharply at that time. Other steps in the stairs indicate when the other additions were made and the pH drops can be seen. We made larger additions early on as we start close to pH 6.38 where maxiumum buffering occurs and later use smaller steps. The initial steps amount to 4-5 drops corresponding to about 0.2 mL of acid. Later we reduced to 2 drops and then 1 with 1 drop corresponding to about 0.05 mL. The buret we are using has 0.1 mL divisions and about half of one of those is the limit to which it can be read. Note that we waited some time after each acid addition to let the pH electrode stabilize so that we could be sure of the pH before adding more acid. Thus is why the titration took 2 hours. Ordinarily one has a rough idea as to what to expect and would, in this case, for example, add perhaps 2.8 mL for a first step and make the next few additons more quickly than we did. Only the last couple of additions (say below pH 5.5) would be made more slowly. But note that the rate of response to the later additions is much quicker than for the earlier ones. After the first addition it took 8 minutes for the pH to decline 95% of the way to its steady state value. For the addition at 16:18 (pH 6.12) it took 5.35 minutes to get 95% of the way and for the addition at 17:15 it took but 3 minutes and for the last addition at about 17:30 it only took 1 minute. This is because the lower we go in pH the less bicarbonate there is. Bicarbonate apparently reacts slowly. Only in this last step are we seeing the step response of the meter. In the other steps, where bicarbonate is present, it is taking time to react with the acid.

A horizontal line has been drawn on the graph at pH 4.3. Study of the graph shows that this line was crossed after the addition at 17:15 which brought the total acid to 2.95 mL. As that addition put the pH across the line it is clear that the akalinity to pH 4.3 is more than 2.9 and less than 2.95 mEq/L (145 - 147.5 ppm as CaCO3). Given that the graph shows that the last addition does not carry is very far past 4.3 we would probably want to estimate the pH 4.3 alkalinity as closer to 147.5 than 145 and perhaps call it 146.5 ± 2.5 with the 2.5 corresponding to the estimated accuracy with which we can read the buret.

Another way of looking at this data is to observe that the alkalinity to pH 5.0 is 2.85 (142.5) to pH 4.6 is 2.9 (145) and to pH 4.2 is 2.95 (147.5). From this it is clear that the choice of endpoint is not that critical.

Obviously this method of measuring pH works very well and accurate results are attainable assuming the standard acid's strength is accurately known. It should be clear that by using 0.05 N acid instead of 0.1 N we would use about 6 mL rather than 3 but that each sub division on the buret would now correspond to 0.05 mEq and we would be able to read to about 0.025 mEq corresponding to 1.25 ppm as CaCO3. Most readers of this page will not be using fancy meters connected to a computer but will be relying on detecting color changes of bromcresol green - methyl red. The following photographs should give a general idea as to what color changes to expect:

 DSC1236 1p0

The photo above shows the flask with 1.0 mL acid added (50 ppm as CaCO3) pH 6.67

 DSC1244 2p5

The photo above shows the flask with 2.5 mL acid added (125 ppm as CaCO3) pH 5.89

 DSC1247 2p75

The photo above shows the flask with 2.75 mL acid added (137.5 ppm as CaCO3) pH 5.52

 DSC1248 2p8

The photo above shows the flask with 2.80 mL acid added (140 ppm as CaCO3) pH 5.34

 DSC1249 2p85

The photo above shows the flask with 2.85 mL acid added (142.5 ppm as CaCO3) pH 5.03. These colors become steadily redder as  more acid is added but the color changes are not, at least to the writer who is color blind, dramatic.

 DSC1250 2p90

The photo above shows the flask with 2.90 mL acid added (145 ppm as CaCO3) pH 4.55. This color change is, even to the writer, dramatic and one migh well report the alkalinity of the sample at 145 based on this and that would be a good estimate for alkalinity to titration end point of 4.5.

 DSC1251 2p95

The photo above shows the flask with 2.95 mL acid added (147.55 ppm as CaCO3) pH 4.17. The change here is also dramatic and one might want to report the alkalinity for this color as a pH 4.3 endpoint color.

Digital Titrator

We mentioned earlier the Hach digital titrator. This is shown in the photo below. These are expensive but have several features which make them well worth consideratio if you plan to measure alkalinity frequently.

The titrant (acid) is prepared by the factory and shipped in a conventional plastic syringe (except that there is no handle on the plunger) with a capped Luer tip which is enclosed in a sealed bag. Thus the titrant is not subject to incursion of air or evaporation. Rather than accepting the usual hypodermic needle the Luer tip takes a plastic delivery tube which extends down into the sample flask. As the operator rotates the knurled knob at the far rigthand end of the device he is turning a lead screw which advances the syringe's plunger and dispensed an amount of titrant proportional to the turns of the screw. The know also operates the Veeder Root counter whose digits can be seen through the window above the label.


The mechanics and the strength of the titrant are coordinated such that the display reads the alkalinity directly for a particular sample size. In the photo the cartridge contains 1.600 ± 0.008 N (i.e. ± 0.5%) sulfuric acid so that when used with a 100 mL sample the counter reads directly in ppm as CaCO3. The photo shows the titrator at the completion of a titration of  of another sample of the same water to pH 4.32. The reading is 143 ppm as CaCO3. and we thus expect the actual alkalinity to be very slightly higher than this. As the pH at 141 was 4.38 one unit on the dial accounts for about 0.06 pH so that the difference between 4.32 and 4.30 might imply and extra 1/3 digit. Thus we might expect the actual alkalinity to be 142.3. The 0.5% uncertainty in the acid strength implies an equal percentage uncertainty in the result obtained using it or, in this case 0.7 ppm as CaCO3. There are, of course, other sources of error with a large on being how we measure out the sample. In these experiments a simple TD graduated cyninder was used. For precise work one would fill a volumetric flask and then transfer the contets quantitatively (with DI water rinsings) to the titration flask.


Clearly we are interested in comparing this result to that of the conventional buret titration, 146.5 ± 2.5, to this result 142.3 ± 0.7 . We did not allow time for CO2 to escape before beginning this so that we can expect the result of this titration to be 1.2 ppm less than the buret titration. Had we waited we might expect the result of this titration to be 1.2 ppm higher than it was or 143.5. The difference, 3, is 2% of 143 or about 1.2 times the estimated standard deviation associated with the buret. The concentration of the home made standard acid and error in measuring out the sample are probably responsible.© A.J. deLange 2013