Water Hardness Converter
1 grain per gallon (gpg) equals 17.1 mg/L, also written as 17.1 ppm, of hardness as calcium carbonate. To convert ppm to gpg, divide by 17.1. So 171 ppm is 10 gpg, and 15 gpg is about 257 ppm. Water above 7 gpg (120 ppm) counts as hard.
15.00 gpg
Very hard on the WQA scale
- mg/L (ppm)
- 256.8
- mmol/L
- 2.565
- German degrees (°dH)
- 14.39
- French degrees (°fH)
- 25.7
- WQA class
- Very hard
- USGS class
- Very hard
If you soften this water, it adds about 118 mg of sodium per liter.
Show the math
input 15 gpg = 256.8 mg/L as CaCO3
gpg = 256.8 ÷ 17.1181 = 15.00
mmol/L = 256.8 ÷ 100.087 = 2.565
°dH = 256.8 ÷ 17.848 = 14.39
°fH = 256.8 ÷ 10 = 25.7
sodium added = 15.00 × 7.864 = 118 mg/L
How to use this calculator
- Type the hardness number from your test strip, lab report or water utility report.
- Pick the unit it's given in. Utility reports in the US usually use mg/L or ppm. Softener manuals use gpg.
- Read the other units and where your water sits on both hardness scales.
The formula
Every unit here measures the same thing, the calcium and magnesium in your water expressed as calcium carbonate. A grain is 64.8 mg and a gallon is 3.785 liters, so 1 gpg = 17.1 mg/L.
gpg = mg/L ÷ 17.1
mg/L = gpg × 17.1
mmol/L = mg/L ÷ 100.1
German degrees (°dH) = mg/L ÷ 17.85
French degrees (°fH) = mg/L ÷ 10
Example 1: 15 gpg × 17.1181 = 256.8 mg/L. That's 2.57 mmol/L, 14.4 °dH or 25.7 °fH. It's very hard on both scales.
Example 2: a city report shows 120 mg/L. 120 ÷ 17.1181 = 7.0 gpg, which sits at the top of "moderately hard" on both the USGS and WQA scales.
What this calculator doesn't cover
- Test strips that report in their own color steps. Use the number printed next to the matching color.
- "Hardness as calcium" (not as calcium carbonate). Multiply calcium mg/L by 2.5 first.
- TDS (total dissolved solids) readings. TDS meters don't measure hardness.
- Temporary versus permanent hardness.
| Class (WQA) | gpg | mg/L (ppm) | USGS class |
|---|---|---|---|
| Soft | under 1.0 | under 17.1 | Soft |
| Slightly hard | 1.0 to 3.5 | 17.1 to 60 | Soft |
| Moderately hard | 3.5 to 7.0 | 60 to 120 | Moderately hard |
| Hard | 7.0 to 10.5 | 120 to 180 | Hard |
| Very hard | over 10.5 | over 180 | Very hard |
| gpg | mg/L (ppm) | mmol/L | °dH |
|---|---|---|---|
| 1 | 17.1 | 0.17 | 1.0 |
| 3 | 51.4 | 0.51 | 2.9 |
| 5 | 85.6 | 0.86 | 4.8 |
| 7 | 119.8 | 1.20 | 6.7 |
| 10 | 171.2 | 1.71 | 9.6 |
| 12 | 205.4 | 2.05 | 11.5 |
| 15 | 256.8 | 2.57 | 14.4 |
| 20 | 342.4 | 3.42 | 19.2 |
| 25 | 428.0 | 4.28 | 24.0 |
| 30 | 513.5 | 5.13 | 28.8 |
Tips
- US water utilities publish hardness in their yearly Consumer Confidence Report. Search your utility's name plus "water quality report".
- Softener controls ask for gpg. If your report says 200 mg/L, enter 11.7 gpg.
- Well water can change with the seasons. Test again after a wet spring or a drought.
- If you add iron to the hardness setting on your softener, add 4 to 5 gpg for every 1 ppm of iron.
FAQ
How do I convert ppm to gpg?
Is ppm the same as mg/L for water hardness?
What is a good water hardness level?
What is 300 ppm hardness in gpg?
How do I convert German degrees of hardness to gpg?
How much sodium does softened water contain?
Related calculators

Grains you need from your household and hardness, at your real salt setting.

Pounds per month, bags per year and yearly cost for your softener.

Unit, install, salt and service, with a 10-year total and a quote check.

Sources
- NIST Handbook 44 (2026), Appendix C (accessed Oct 20, 2026)
- WQA Ion Exchange Fact Sheet (accessed Oct 20, 2026)
- USGS Water Science School, Hardness of Water (accessed Oct 20, 2026)
- University of Nebraska-Lincoln Extension, NebGuide G1274 (2016) (accessed Oct 20, 2026)
- Penn State Extension, Water Softening (accessed Oct 20, 2026)
- Sigma-Aldrich, water hardness test (product 37194) (accessed Oct 20, 2026)
Founder of HomeWaterMath. Builds and checks every calculator.
Last updated: Oct 20, 2026 · Editorial policy
Estimates only. Check your equipment's spec sheet and local plumbing code before you buy or install.