WaterCompared

The tool · shell

What is in my water

Measured hardness for your ZIP code, your utility’s own contaminant report, and what those two together call for. Sometimes the answer is that you do not need anything, and this tool is built to say so.

Find your ZIP code

26,810 ZIP codes have federal drinking water monitoring records.

Or pick the agency your water system reports under, usually your state.

States and territories

EPA regions and tribal agencies

How EPA files a system, rather than where a postcode sits. Most readers want their state above.

Measured hardness

Hardness comes from a national survey keyed to your location, reported in grains per gallon with the parts-per-million figure alongside it. Utilities report in mg/L, while softener capacity is specified in grains, and the report has to speak both.

Measured hardnessIn mg/LClassification
XXXXXXXXX

What your utility reported

From the Consumer Confidence Report your utility files each year. Legal limits and health guidelines are different things, and this table shows both in separate columns. A contaminant can sit well inside the law and well above the guideline, and that gap is usually the whole finding. Collapsing them into one “safe / unsafe” column would destroy the only thing this table is for.

ContaminantDetectedLegal limitHealth guideline
Total trihalomethanesXXXXXXXXX
Haloacetic acidsXXXXXXXXX
ChlorineXXXXXXXXX
Lead (90th percentile)XXXXXXXXX

Contaminant names are illustrative of what a CCR reports; every value is a placeholder. Corpus: not yet sourced. Guideline column: not yet sourced.

What that calls for

Daily hardness loadRecommended capacity
XXXXXX

A recommendation, sized to the household, that is allowed to be “nothing”. The threshold below which a softener does not repay its cost is not yet sourced. Until that is sourced and defensible, this tool recommends nothing at all.

What this report rests on

Four things have to be true before a hardness readout means anything: a dataset that covers the country, a scale to read it against, the conversion between the two units it gets quoted in, and a way to tell which utility serves a postcode. Each is stated here with its source, because a number whose provenance sits one click away is a number that will be quoted without it.

ComponentWhat we have
Hardness dataset0 of 26,810 ZIP codes, from results collected 2015 onward
Soft → very hard breakpointssoft 0–60 mg/L · moderately hard 61–120 · hard 121–180 · very hard above 180
mg/L → grains per gallon conversion17.11806 mg/L per grain per gallon
ZIP → utility coverage26,759 of 26,810 covered ZIP codes

Water Quality Portal (USGS/EPA/NWQMC) hardness results, matched into EPA service-area boundaries · water-hardness-2026-09-01.json · retrieved 2026-09-01 · Stored in mg/L as CaCO3, as reported. "Defensible" means at least two stations and five results; a further 13,811 ZIPs have a reading too thin to state. Results run from 2015 onward and a 2015 reading is a 2015 reading, so the date range travels with every figure. 71 agencies have no defensible reading anywhere (Idaho and Alaska being the substantial ones), where the tool returns no hardness rather than a guess.

USGS Water Science School, Hardness of Water · Measures of water hardness · retrieved 2026-09-01 · USGS states these as mg/L as calcium carbonate and calls them general guidelines, not a standard. There is no 'slightly hard' band and USGS publishes no grains-per-gallon equivalent. Showing one means converting these breakpoints ourselves, which is why the conversion below is cited separately rather than folded in silently.

NIST Special Publication 811, 2008 Edition, Guide for the Use of the International System of Units · Tables B.8 and B.9, 'grain per gallon (U.S.) → milligram per liter', 1.711806 E+01 · retrieved 2026-09-01 · A defined conversion between units, not a measurement of anything. It cannot go out of date, and the publication is a frozen 2008 edition. Direction matters on the page: multiply grains per gallon by this to get mg/L, divide to go the other way.

Our own ZIP dataset, generated from pwsid-crosswalk-2026-09-01.json and water-sdwis-2026-09-01.json · retrieved 2026-09-01 · Of the ZIPs the dataset COVERS. Roughly a fifth of US ZIP codes reach no water system in the federal records at all and have no report, most often served by a system too small to be sampled, or a ZIP that is only PO boxes. A ZIP on a private well has no utility to resolve to and never will; that is the tool working, not failing.

What we found when we checked it

Hardness would come from environmental monitoring stations that happen to fall inside a water system’s service area. On 2026-09-02 we checked that method against the figures utilities publish about their own supply, looking each one up without reference to our own number so the comparison could not be talked into agreeing. Of 20 large systems, 17 publish a findable figure, and ours matched 8 of them.

In 7 of the 9 misses we read HIGH, not low. The worst were cities supplied from a distant watershed, where the stations end up sampling local groundwater nobody drinks. We are paid a referral fee when somebody asks for an installer, so a reading that overstates hardness is the last error we are willing to publish. A tighter filter was tried first and thrown away: the systems whose stations agreed most closely with each other were no more accurate than the ones that disagreed wildly.

Your utility publishes its own hardness in its annual water quality report. Until we can read those directly, that is the figure to trust, and this page will not compete with it using a worse one.

Hardness here is an inference, not a lookup

Two of the three sources behind a report are filed by a water system, so attributing them to it is a lookup. Hardness is not. It is measured at monitoring stations (creeks, wells, intakes), each carrying a coordinate and no water system at all. Placing a station inside a service-area boundary says it sits on ground that system serves. It does not say the water measured there is the water arriving at your tap, and no report on this site will claim otherwise: each one says how many stations it rests on, how many results, and over what years.

Where it returns nothing

It returns nothing, everywhere, and that is deliberate. No report on this site states a hardness figure for any water system, because we tested whether this method can support one and it cannot.

Utility filings describe water leaving the treatment plant, not water arriving at your tap. Plumbing between the two can add lead and copper, and no report on this page can see it.

Why this page exists

SERP Weakness Index 2 for water hardness calculator. The incumbents are generic calculator sites rather than water specialists.

register/screens/water-treatment-serp-2026-09-01.json · retrieved 2026-09-01 · SERP Weakness Index for 'water hardness calculator', re-scored 2026-09-01 and unchanged at +2. The incumbents are generic calculator sites, not water specialists. Note the page's primary query is 'water hardness by zip code', which scores 0, because a manufacturer holds #1 there, so the calculator variant is the weaker slot and the better entry.