Convert water hardness expressed as calcium carbonate (CaCO₃) between parts per million (ppm, mg/L), grains per gallon (gpg), millimoles per litre (mmol/L), and German degrees (°dH).
Hardness (as CaCO₃)
ppm
Milligrams of CaCO₃ per litre (mg/L). The reference basis for the other units.
gpg
US grains of CaCO₃ per US gallon. 1 gpg = 17.118 ppm.
mmol/L
Millimoles of CaCO₃ per litre. 1 mmol/L = 100.09 ppm (molar mass of CaCO₃).
°dH
Deutsche Härte (°dH), common on European appliances. 1 °dH = 17.848 ppm.
Water hardness
Water hardness measures the concentration of dissolved minerals — chiefly calcium and magnesium — in water. Hard water leaves scale in kettles and pipes, reduces the lather of soap, and affects the performance of dishwashers and softeners. Because calcium and magnesium have different atomic masses, hardness is reported on a single common basis: the equivalent mass of calcium carbonate (CaCO₃).
Units of hardness
Parts per million (ppm) — milligrams of CaCO₃ per litre (mg/L). This is the reference unit used by most laboratory water reports and is numerically identical to mg/L for dilute water.
Grains per gallon (gpg) — the unit printed on most US water-softener labels. One grain is 1/7000 of a pound, measured per US gallon. 1 gpg = 17.118 ppm.
Millimoles per litre (mmol/L) — the molar concentration of CaCO₃. Since the molar mass of CaCO₃ is about 100.09 g/mol, 1 mmol/L = 100.09 ppm.
German degrees (°dH) — Deutsche Härte, common on European appliances and dosing charts. 1 °dH = 17.848 ppm as CaCO₃.
Conversion factors
Unit
Equals in ppm (mg/L CaCO₃)
1 ppm
1
1 gpg
17.118
1 mmol/L
100.09
1 °dH
17.848
To convert any unit to ppm, multiply by its factor; to go the other way, divide.
Worked example
A laboratory report lists tap water at 120 ppm as CaCO₃. Converting to grains per gallon:
At about 7 gpg, this water sits at the boundary between moderately hard and hard.
Hardness classification
A widely used scale, all measured as CaCO₃:
Soft — 0–60 ppm (0–3.5 gpg)
Moderately hard — 61–120 ppm (3.5–7 gpg)
Hard — 121–180 ppm (7–10.5 gpg)
Very hard — above 180 ppm (above 10.5 gpg)
The precise cut-offs differ between water authorities, so treat these bands as a guide rather than a fixed standard.
Usage
Enter any value in any field and the other units update automatically. Type your laboratory ppm reading to see the equivalent grains per gallon for a softener, or enter a °dH figure from a European appliance to read it back in mg/L.
Frequently Asked Questions (FAQ)
How do ppm and grains per gallon relate?
Both express water hardness as calcium carbonate, but on different scales. Parts per million (ppm) equals milligrams of CaCO₃ per litre, while grains per gallon (gpg) is common on US water-softener labels. The conversion is 1 gpg = 17.118 ppm, so 120 ppm is about 7.01 gpg.
Why is hardness expressed "as CaCO₃"?
Hardness comes mostly from dissolved calcium and magnesium, which have different atomic masses. To report a single comparable figure, all of these ions are converted to the equivalent mass of calcium carbonate (CaCO₃). Reporting hardness "as CaCO₃" is the standard convention in water-quality testing, so every unit here shares that basis.
What ppm counts as hard water?
A common classification treats 0–60 ppm as soft, 61–120 ppm as moderately hard, 121–180 ppm as hard, and above 180 ppm as very hard, all measured as CaCO₃. In grains per gallon those bands are roughly 0–3.5, 3.5–7, 7–10.5, and above 10.5 gpg. The exact cut-offs vary between authorities.
Which unit does a water softener use?
Most residential water softeners in the US are configured in grains per gallon (gpg), while laboratory reports and European appliances often use ppm (mg/L) or German degrees (°dH). Convert your test result into gpg before programming a softener: divide the ppm figure by 17.118.
Disclaimer
All units express hardness as calcium carbonate (CaCO₃). Conversion factors used: 1 gpg = 17.118 ppm, 1 mmol/L = 100.09 ppm, 1 °dH = 17.848 ppm. Classification bands are indicative and differ between water authorities.