HardWaterLab

Water hardness converter

Grains per gallon, mg/L, ppm and the European degree scales, all at once.

Convert a hardness figure

Every hardness unit measures the same thing, the concentration of calcium and magnesium expressed as calcium carbonate. They differ only in the size of the unit, so every conversion is an exact ratio rather than an approximation.

The ratios

One unit of each scale, in mg/L as CaCO3
UnitSymbolIn mg/LWhere it is used
Milligrams per litremg/L1Laboratory reports worldwide
Parts per millionppm1The same number as mg/L
Grains per gallongpg17.118US water treatment and softener sizing
German degrees°dH17.848Germany, central Europe
French degrees°fH10France, defined as 10 mg/L exactly
Clark degrees°e14.254Older UK reports
Millimoles per litremmol/L100.0869Chemistry, the molar mass of CaCO3

Why a grain is 17.118 mg/L

A grain is one seven-thousandth of a pound, which is 0.064799 grams. A US gallon is 3.785411784 litres. Divide one by the other and you get 0.017118 grams per litre, which is 17.118 milligrams per litre. It is a definition, not a measurement, so it never changes.

Many sources round it to 17.1, which is fine for household purposes and introduces an error of about one part in a thousand.

Common values

Hardness conversion table
gpgmg/L and ppm°dH°fHClass
11711.7Soft
3512.95.1Soft
5864.88.6Moderately hard
71206.712Moderately hard
101719.617.1Hard
1220511.520.5Very hard
1525714.425.7Very hard
2034219.234.2Very hard
254282442.8Very hard
3051428.851.4Very hard
4068538.468.5Very hard
508564885.6Very hard

Frequently asked questions

How many mg/L is 1 grain per gallon?
Exactly 17.118 mg/L, which is the same as 17.118 ppm. The figure comes from the definition of a grain as one seven-thousandth of a pound and a US gallon as 3.785411784 litres, so it is arithmetic rather than measurement.
Is ppm the same as mg/L for water hardness?
Yes. One litre of water weighs one kilogram, so one milligram in one litre is one part per million by mass. Water quality reports use the two interchangeably.
How do I convert ppm to grains per gallon?
Divide by 17.118. So 171 ppm is 10 grains per gallon, 250 ppm is about 14.6, and 300 ppm is about 17.5.
What is a German degree of hardness?
One German degree, written °dH, is 17.848 mg/L as calcium carbonate. It is historically defined as 10 mg of calcium oxide per litre. French degrees are simpler, one °fH is 10 mg/L exactly.

Related tools