Softening
How do grains per gallon convert to ppm and mg/L?
Quick answer
One grain per gallon of hardness equals 17.1 mg/L, or parts per million, as calcium carbonate. German degrees (dH) use 17.8 mg/L per degree and French degrees (dF) use 10.0 mg/L per degree, both different from the US grain, so imported softener manuals set in dH or dF need their own conversion before they match a US lab report.
Grains per gallon and parts per million (equivalent to mg/L for water) both describe the same measured hardness, and the entire relationship between them rests on one fixed conversion factor: 17.1 mg/L per grain. Laboratories generally report in mg/L or ppm, while nearly every piece of American softener and filtration equipment is sized in grains, so this single number gets used constantly and is worth having on one page in full.
Two other unit systems show up on imported equipment and older European literature: German degrees (dH) and French degrees (dF). Neither one uses the same reference as the American grain, and treating a dH reading as though it were a gpg reading, or the reverse, produces a sizing error large enough to undersize a softener meaningfully.
On this page
Why does one grain equal 17.1 mg/L?
A grain is a historical unit of mass, one seven thousandth of a pound. One grain of calcium carbonate dissolved in one US gallon of water works out to 17.1 milligrams per liter, which is the conversion factor behind every figure on this page. It is a unit conversion rather than a rule of thumb, so it does not vary by lab, by state or by manufacturer the way trade sizing conventions do.
Grains per gallon to mg/L, full conversion table
Multiply grains per gallon by 17.1 to get mg/L, or divide mg/L by 17.1 to read the table the other direction.
Ten grains per gallon converts to 171 mg/L, and the boundary of the very hard class, 10.5 grains per gallon, converts to 179.6 mg/L.
Published figure A published standard, regulatory limit, unit conversion or manufacturer specification. It does not change because somebody disagrees with it.
| Grains per gallon (gpg) | Milligrams per liter (mg/L, as CaCO3) |
|---|---|
| 1 | 17.1 |
| 2 | 34.2 |
| 3 | 51.3 |
| 3.5 | 59.9 |
| 4 | 68.4 |
| 5 | 85.5 |
| 6 | 102.6 |
| 7 | 119.7 |
| 7.5 | 128.3 |
| 8 | 136.8 |
| 9 | 153.9 |
| 10 | 171 |
| 10.5 | 179.6 |
| 12 | 205.2 |
| 15 | 256.5 |
| 20 | 342 |
| 25 | 427.5 |
| 30 | 513 |
| 35 | 598.5 |
| 40 | 684 |
| 50 | 855 |
| 60 | 1,026 |
| 70 | 1,197 |
| 80 | 1,368 |
| 100 | 1,710 |
Every value here is grains multiplied by 17.1, rounded to one decimal place. The 3.5, 7 and 10.5 rows are the exact USGS hardness class boundaries on the water hardness chart.
German degrees (dH) and French degrees (dF), converted
German hardness degrees are defined at 17.8 mg/L per degree and French hardness degrees at 10.0 mg/L per degree, both distinct from the 17.1 mg/L US grain. A dial set to a dH or dF value on imported equipment has to pass through mg/L before it means anything in grains per gallon.
Ten German degrees (dH) equals 178 mg/L, or 10.4 grains per gallon, a meaningfully different number from a softener dialed to 10 gpg directly.
Published figure A published standard, regulatory limit, unit conversion or manufacturer specification. It does not change because somebody disagrees with it.
| German degrees (dH) | Milligrams per liter (mg/L) | Grains per gallon (gpg) | French degrees (dF) |
|---|---|---|---|
| 1 | 17.8 | 1.04 | 1.8 |
| 2 | 35.6 | 2.08 | 3.6 |
| 3 | 53.4 | 3.12 | 5.3 |
| 4 | 71.2 | 4.16 | 7.1 |
| 5 | 89 | 5.20 | 8.9 |
| 7 | 124.6 | 7.29 | 12.5 |
| 10 | 178 | 10.41 | 17.8 |
| 12 | 213.6 | 12.49 | 21.4 |
| 15 | 267 | 15.61 | 26.7 |
| 20 | 356 | 20.82 | 35.6 |
| 25 | 445 | 26.02 | 44.5 |
| 30 | 534 | 31.23 | 53.4 |
dH to mg/L multiplies by 17.8. dF to mg/L multiplies by 10.0. Both then divide by 17.1 to reach grains per gallon, which is why a dH figure and a gpg figure of the same numeral are never actually the same hardness.
Worked conversion examples
These are the four situations that come up most often when a reading from one source has to be compared against equipment sized in a different unit.
A Consumer Confidence Report reading of 150 mg/L converts to 8.8 grains per gallon, placing that water in the hard class.
Published figure A published standard, regulatory limit, unit conversion or manufacturer specification. It does not change because somebody disagrees with it.
| Source reading | Converted value |
|---|---|
| Utility CCR reports 150 mg/L | 8.8 grains per gallon (hard class) |
| Test strip reads 12 grains per gallon | 205.2 mg/L |
| Imported softener manual set to 15 dH | 267 mg/L, or 15.6 grains per gallon |
| Laboratory report in French degrees, 20 dF | 200 mg/L, or 11.7 grains per gallon |
Quick conversion factors
Published figureGrains per gallon to mg/L: multiply by 17.1 mg/L to grains per gallon: divide by 17.1 mg/L to German degrees (dH): divide by 17.8 mg/L to French degrees (dF): divide by 10.0 Grains per gallon to German degrees: multiply by 17.1, divide by 17.8 Grains per gallon to French degrees: multiply by 1.71
Every factor above is a fixed unit conversion, not a trade estimate, and none of them change with brand, region or test method.
Where this conversion actually matters
The single most common place this trips people up is comparing a laboratory report, which almost always reads in mg/L, against a softener valve programmed in grains per gallon. Entering the raw mg/L number into a grain based control head oversizes the compensated hardness setting by a factor of 17, which either wastes salt on constant unnecessary regeneration or, if someone corrects it the wrong direction, undersizes it just as badly. Run any reading you have through the water hardness converter before entering it anywhere else, and see the water hardness chart for what the converted number actually means once it is in grains per gallon.
Sources
- Standard unit conversion for grains per gallon, milligrams per liter, German degrees and French degrees of water hardness
Frequently asked questions
How many mg/L is one grain per gallon?
One grain per gallon equals 17.1 mg/L, or parts per million, as calcium carbonate. This is the single conversion factor behind every grains to ppm table, since a grain is a fixed unit of mass and 17.1 mg/L is what one grain dissolved in one US gallon works out to. It does not vary by lab, region or manufacturer.
Are ppm and mg/L the same thing for water hardness?
Yes, for practical purposes. Parts per million and milligrams per liter are numerically identical for water at normal temperature and pressure, because water's density is close enough to 1 kilogram per liter that the two units track each other. A laboratory report using either unit converts to grains per gallon the same way, by dividing by 17.1.
Is 10 dH the same as 10 grains per gallon?
No, and this is the mistake imported equipment causes most often. German degrees (dH) are defined at 17.8 mg/L per degree, while a US grain is 17.1 mg/L, so 10 dH converts to 178 mg/L, which is 10.4 grains per gallon, not exactly 10. The gap widens as the number gets larger, so always convert rather than assume the two scales match.
How do I convert French degrees to grains per gallon?
Multiply the French degree (dF) reading by 10.0 to get mg/L, then divide that result by 17.1 to reach grains per gallon. A reading of 20 dF converts to 200 mg/L, or about 11.7 grains per gallon. French degrees and German degrees are not interchangeable with each other either, since they use different reference values.
Why do American softeners use grains instead of mg/L?
Grain capacity became the American residential softener standard because resin exchange capacity was historically rated and marketed in grains, and the convention stuck across the entire domestic industry. Laboratories, meanwhile, report in mg/L because that is the international scientific standard for concentration. Neither is wrong; they simply serve different parts of the same measurement and need a conversion to line up.
Does this conversion chart apply to iron and manganese too?
The 17.1 mg/L per grain conversion is specific to hardness reported as calcium carbonate. Iron and manganese are reported directly in mg/L against their own EPA secondary standards, 0.3 and 0.05 mg/L respectively, and are not converted into grains at all. See the iron and manganese treatment chart for how those two are actually handled.
Get the complete water treatment shopping list
Every item in the starter, complete and premium systems for both city water and well water, with running totals, in one printable list. It opens with the test kit, because that is genuinely the first purchase. No charge.
One list, no sequence of daily emails, and you can leave at any time.
Researched, not professional advice. This page is compiled from published standards, regulatory limits, manufacturer specifications and owner-review consensus, not hands-on testing. Nothing here diagnoses a water problem or says any product makes water safe to drink. Figures described as a rule of thumb are water treatment trade convention rather than published standards, and they are labeled that way wherever they appear. Test your water before you buy equipment: on city water start with the Consumer Confidence Report your utility publishes each year, and on a private well only a certified laboratory test tells you what you have. Bacteria, nitrate, lead, arsenic and PFAS are not do it yourself topics, they are invisible and tasteless, and they need a laboratory and usually a licensed professional rather than a product. Remember that a certification covers a specific claim under a specific standard, so "NSF certified" with no number attached tells you very little.