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. Pick the agency your water system reports under, usually your state.
- 01 1
- 02 5
- 04 2
- 05 10
- 06 17
- 07 1
- 08 10
- 09 36
- 1 1
- 10 17
- 5 11
- 6 7
- 8 45
- 9 23
- AK 109
- AL 648
- AR 596
- AS 1
- AZ 314
- CA 1,564
- CO 323
- CT 264
- DC 270
- DE 68
- FL 987
- GA 658
- GU 8
- HI 164
- IA 758
- ID 116
- IL 1,102
- IN 574
- KS 578
- KY 822
- LA 488
- MA 534
- MD 376
- ME 146
- MI 601
- MN 423
- MO 948
- MP 3
- MS 463
- MT 77
- NC 846
- ND 388
- NE 188
- NH 128
- NJ 577
- NM 178
- NN 2
- NV 130
- NY 1,356
- OH 1,042
- OK 774
- OR 233
- PA 1,434
- PR 128
- RI 72
- SC 404
- SD 349
- TN 669
- TX 1,795
- UT 224
- VA 589
- VI 3
- VT 132
- WA 439
- WI 405
- WV 552
- WY 54
Codes that are not two-letter states are EPA regions and tribal agencies, which is how EPA files a system rather than where a postcode sits.
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 hardness | In mg/L | Classification |
|---|---|---|
| XXX | XXX | XXX |
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.
| Contaminant | Detected | Legal limit | Health guideline |
|---|---|---|---|
| Total trihalomethanes | XXX | XXX | XXX |
| Haloacetic acids | XXX | XXX | XXX |
| Chlorine | XXX | XXX | XXX |
| Lead (90th percentile) | XXX | XXX | XXX |
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 load | Recommended capacity |
|---|---|
| XXX | XXX |
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.
| Component | What we have |
|---|---|
| Hardness dataset | 9,606 of 26,810 ZIP codes, from results collected 2015 onward |
| Soft → very hard breakpoints | soft 0–60 mg/L · moderately hard 61–120 · hard 121–180 · very hard above 180 |
| mg/L → grains per gallon conversion | 17.11806 mg/L per grain per gallon |
| ZIP → utility coverage | 26,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 4,205 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. 14 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.
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
A reading is only stated where at least two stations and five results support it. 4,205 further ZIP codes have a measurement too thin to state, and 14 agencies, including ID and AK and others, have no defensible reading anywhere. Those reports say so rather than estimating, which is the difference between a tool and a lead form.
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.