Water hardness calculator
Got a hardness number in one unit and need it in another? Enter it once and read it in every unit — with the USGS band and where it lands among 2,977 measured US counties.
Conversions use published USGS/NIST unit definitions; the method is spelled out below.
Convert any hardness unit
Enter a number to convert; the result shows its band and how it ranks among 2,977 US counties.
A water hardness calculator converts one number between every unit: ppm and mg/L (identical), grains per gallon (gpg, ÷17.118), German °dH (÷17.848), French °fH (÷10), and mmol/L (÷100.087). Enter any value below to see all units at once, plus its band and how it compares with 2,977 measured US counties.
Why it's confusing
Why one water gets so many numbers
Hardness is just dissolved calcium and magnesium — the minerals rainwater picks up seeping through limestone. It's one quantity. The confusion is that different trades chose different ways to count it, and your softener, your water report, and a European appliance manual can each name the same water with a different figure.
A lab weighs the minerals and reports milligrams per litre (mg/L), which for hardness is identical to ppm. US water-treatment counts them in grains per gallon (gpg), where 1 gpg = 17.118 mg/L. Europe keeps its own degrees — °dH in Germany (17.848 mg/L each) and °fH in France (10 mg/L each). Same water, different rulers.
Worked example
A worked example: 250 mg/L through a softener
Say your report reads 250 mg/L — very hard. In grains per gallon that's 14.6 gpg (250 ÷ 17.118), which is the number a softener actually wants. That single conversion is where most people get stuck: the report talks mg/L, the softener talks gpg.
Size it for a household of four at the USGS-average 82 gallons per person per day, regenerating weekly, and you need about 33,532 grains of capacity a week. Round up to the next standard tank and that's a 40,000-grain unit. You didn't need a chart — you needed the gpg number and one multiplication. The size calculator runs the full version, and the settings calculator gives the number to program.
Same number, three labels
mg/L, ppm, and “mg/L as CaCO₃” are the same number
Water reports love to write hardness three ways — mg/L, ppm, and mg/L as CaCO₃ — and they are all the same figure. “As CaCO₃” just states the convention: hardness is reported as if all the minerals were calcium carbonate, so the number needs no conversion. If your report already says “as CaCO₃,” you're done.
The one real trap is a report that lists hardness “as Ca” (elemental calcium) instead. Those aren't the same number — you multiply by 2.497 (the mass ratio of calcium carbonate to calcium) to get the standard as-CaCO₃ figure. A lab “as Ca” value of 100 mg/L is really 250 mg/L as CaCO₃ — the difference between moderately hard and very hard, so it's worth checking the label.
Why “grains” at all? A grain is an old apothecary weight — 64.79891 mg, about the mass of one grain of wheat. One grain of hardness per US gallon works out to 17.118 mg/L, and US water-treatment simply never switched. That's the whole reason your softener speaks a different language than your lab.
A caution
When converting hides a problem
A conversion changes the label, not the certainty behind it. If you read 250 ppm off a colour-matched test strip, converting to 14.6 gpg looks precise — but it's still strip precision, which jumps in big steps. The extra decimal is false confidence, not new accuracy.
The units also round differently. We compute grains at 17.118 mg/L, but many printed charts use the rounded 17.1, so a chart can disagree with us by about 0.1% — real, but never enough to change your band. When a number actually matters — sizing equipment, documenting a home sale — start from a lab or utility figure in mg/L, then convert, not the other way around.
Reading the result
How to read your result
Enter any value and pick its unit; the calculator shows that reading in every other unit at once, plus its band. The headline line restates your number in mg/L — the site's common denominator — so you can compare it against everything else here.
Under it, the band tells you the plain meaning (soft, moderately hard, hard, or very hard on the USGS scale), and the percentile line says how your water ranks — “harder than 68% of the 2,977 measured county medians,” for instance. That context is the point: a bare number tells you nothing until you know whether it's normal, and the measured county data is what makes that answer real rather than a guess.
Common readings
The readings you'll actually see
These are the numbers you actually run into — the marks on a home test strip, the band thresholds, and the national county median — in every unit at once, so you can place your own reading fast.
| mg/L (= ppm) | gpg | °dH | mmol/L | What it is |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | test-strip step |
| 25 | 1.5 | 1.4 | 0.25 | test-strip step |
| 50 | 2.9 | 2.8 | 0.5 | test-strip step |
| 60 | 3.5 | 3.4 | 0.6 | soft → moderately hard line |
| 120 | 7 | 6.7 | 1.2 | test-strip step · moderately hard → hard line |
| 140 | 8.2 | 7.8 | 1.4 | national county median |
| 180 | 10.5 | 10.1 | 1.8 | hard → very hard line |
| 250 | 14.6 | 14 | 2.5 | test-strip step |
| 425 | 24.8 | 23.8 | 4.25 | test-strip step |
When you'll use it
When you'll reach for this
Setting up a softener. Your report reads ppm or mg/L; the softener is set in grains. Convert once, and use the settings calculator for the exact number to program.
Reading a European appliance manual. A dishwasher bought abroad specifies water in °dH; convert your ppm figure to compare. A 7 °dH spec is about 125 ppm — hard water, so the appliance's softener setting matters.
Dosing an aquarium. Fish-keeping kits read general hardness in dGH, which is the same unit as °dH. Convert your tap figure to match a species' target range before you adjust anything.
Reference
Every unit at a glance
One unit of each row, expressed in every column unit — the master factor table behind the calculator.
| 1 of ↓ | mg/L (= ppm) | gpg | °dH | °fH | mmol/L |
|---|---|---|---|---|---|
| mg/L (= ppm) | 1 | 0.05842 | 0.05603 | 0.1 | 0.009991 |
| gpg | 17.12 | 1 | 0.9591 | 1.712 | 0.171 |
| °dH | 17.85 | 1.043 | 1 | 1.785 | 0.1783 |
| °fH | 10 | 0.5842 | 0.5603 | 1 | 0.09991 |
| mmol/L | 100.1 | 5.847 | 5.608 | 10.01 | 1 |
Units
Which unit does what
Grains per gallon (gpg) is the US water-treatment unit — softeners are sized and set in gpg.
mg/L and ppm are the same number, and are how US utility reports (CCRs) and labs state hardness.
German °dH and French °fH are the common European degrees; °dH appears on most European appliance charts.
dGH, used on aquarium test kits, is the same unit as °dH — one degree of general hardness.
Converters
Dedicated converters
Want a single direction with its own worked chart and derivation? Each pair has its own page.
- ppm to gpg
- gpg to ppm
- mg/L to gpg
- gpg to °dH
- °dH to ppm
- ppm to °dH
- mg/L to mg/L as CaCO₃
- mmol/L to ppm
- gpg to mg/L
Or browse the conversion hub.
Questions
Frequently asked
- What is a water hardness calculator?
- A tool that converts a hardness reading between units — ppm, mg/L, grains per gallon, °dH, °fH, and mmol/L — and places it on the USGS scale.
- Which unit should I use?
- Whatever your equipment expects: US softeners use grains per gallon, US water reports use ppm or mg/L, European charts use °dH or °fH, and aquarium kits use dGH (the same as °dH).
- Are ppm and mg/L the same?
- For hardness, yes — both express calcium carbonate mass per litre, so the number is identical.
- How do I convert ppm to grains per gallon?
- Divide by 17.118. So 200 ppm ÷ 17.118 = 11.7 gpg. The calculator does it, and there's a dedicated ppm-to-gpg page with the full derivation.
By Marko Visic, MPharm, BSc Physics. Source: Conversion factors per USGS/NIST unit definitions; percentile from 2,977 gated US counties. Data last verified . Methodology.
Cite this page: “Water Hardness Calculator.” Hard Water Map. Retrieved 2026-07-27, https://hardwatermap.com/water-hardness-calculator/