Your utility already published its hardness. Here it is, with the date.
Most "water hardness by ZIP code" pages are modelled guesses dressed as readings. A ZIP code is not a water system. This site does the slower, smaller thing: it reads the figure out of the utility's own water-quality report, records the report year and the units as published, converts it, and plots it on the USGS classification. 10 systems so far, because that is how many had a number someone could actually read.
- Portland, OR 9 mg/L 0.5 gpg Soft
- Boston, MA 16 mg/L 1 gpg Soft
- Manchester, NH 17.9 mg/L 1 gpg Soft
- New York, NY 32 mg/L 2 gpg Soft
- Austin, TX 93 mg/L 5.4 gpg Moderately hard
- Denver, CO 105 mg/L 6.1 gpg Moderately hard
- Phoenix, AZ 237 mg/L 13.9 gpg Very hard
- Las Vegas, NV 280 mg/L 16 gpg Very hard
- San Antonio, TX 299.3 mg/L 17.5 gpg Very hard
- Indianapolis, IN 317 mg/L 19 gpg Very hard
mg/L as calcium carbonate. Each classification band is drawn the same width, so the axis is not linear in mg/L.
What a page here is made of
The report's own words
Each utility page quotes the hardness line as transcribed from the source, so you can see whether you are looking at an average, a maximum, or a range across a whole system.
Both units, with the arithmetic
Reports use mg/L, ppm, and occasionally ppb. Softeners use grains per gallon. Every page shows the conversion at 17.1 mg/L per grain rather than just the answer.
The classification, cited
Soft, moderately hard, hard and very hard are the USGS bands, quoted and linked. Where a utility uses different band edges โ New York City does โ the page says so.
An honest absence
Hardness is not a regulated contaminant, so plenty of utilities publish nothing. Those are listed as gaps with what was checked, not filled in with an estimate.
Tools
Water hardness converter
ppm and mg/L to grains per gallon, German degrees, French degrees and ppb, in both directions. Every formula is printed under the tool and the USGS class updates as you type.
Targets the conversion most people arrive needing: gpg = mg/L รท 17.1.
Softener grain capacity calculator
Hardness, people, gallons per person per day and days between regenerations, to the grain rating you need. Every assumption is a labelled, editable field, and the five arithmetic steps are shown with their running totals.
Exports CSV with each input marked input or assumption.
Start from your own report
If your utility is not among the 10 here, the figure may still exist. How to read a water quality report covers where hardness hides, which column heading you are reading, and when to stop looking and phone the utility instead. On a private well there is no report at all, which is a different problem.
Guides
-
How to read a water quality report
Hardness has no health standard, so it appears in a report only by choice. Here is where to look, and how to read a range.
-
Unit guides, October 16, 2026
Water Hardness ppm to gpg: The Conversion, Explained
Water hardness ppm to gpg: divide ppm by 17.1. Here is the conversion table, where the 17.1 comes from, and the mistakes that produce wrong answers.