How to Read Your Water Hardness Report

How to read a water hardness report starts with one question: which kind are you holding? A utility's Consumer Confidence Report (CCR) summarises a whole system across a year, so its hardness is a range or an average. A lab report measures one sample from one tap. Only the lab figure, or your own test, belongs in a softener sizing calculation.
The gap between those two can be large. In the real CCR worked through below, hardness in the distribution system ran from 10 to 17.6 grains per gallon in a single year. Size a softener from the wrong end of that range and you buy a unit that runs out of capacity days before it regenerates.
This guide covers how to read a water hardness report line by line, whether it's a utility's CCR or a lab's analysis. It marks which figures feed the sizing maths and which ones must stay out of it.
Two Reports, Two Different Jobs
Most homeowners meet hardness data on one of two documents, and they aren't interchangeable.
| Utility CCR (water quality report) | Lab analysis report | |
|---|---|---|
| Who issues it | Your water utility, as required by the Safe Drinking Water Act | A certified lab you, a dealer or a home inspector sent a sample to |
| How often | Once a year by July 1; twice a year from 2027 for systems serving over 10,000 people | Whenever a sample is taken |
| What was sampled | Many points across the treatment plants and distribution system | One bottle, from one tap, on one day |
| How hardness appears | A range or an average, often in an "aesthetic" or "secondary" table, sometimes missing entirely | A single result, with units, method and reporting limit |
| Hardness is required? | No. Hardness has no federal standard, so listing it is optional | Only if you ordered it |
| Good for | Knowing roughly how hard your area's water is | Sizing and programming a softener |
That last row is the whole article in miniature. A CCR tells you what to expect. A lab report, or a careful home titration, tells you what you actually have.
Where Hardness Hides in a Utility CCR
Open a CCR looking for hardness and the first few pages will disappoint you. The front of the report is built around regulated contaminants: lead, nitrate, disinfection byproducts, coliform. Hardness isn't one of them, so when a utility chooses to publish it, it usually sits in a later table labelled something like "secondary", "aesthetic", "unregulated" or "other water quality parameters".

Here is a real example. The City of Phoenix 2025 Water Quality Report lists hardness in its table titled "Aesthetic Water Quality Analysis from Distribution System & Secondary Drinking Water Guidelines". The row reads:
| Substance | Units | Secondary guideline | Sample results range |
|---|---|---|---|
| Total Hardness | ppm; grains/gallon | NA | 172 – 302 / 10 – 17.6 |
Each column is telling you something specific:
| Field | What it says | What it means for you |
|---|---|---|
| Table title: "from Distribution System" | Samples were drawn from the pipe network, not only at the plants | Closer to what reaches homes than a plant-outlet figure, but still many locations blended into one row |
| Units: ppm; grains/gallon | Two scales side by side | 172 ppm ÷ 17.1 = 10.1 gpg and 302 ÷ 17.1 = 17.7 gpg, so the two columns agree. Always check which unit you're copying |
| Secondary guideline: NA | EPA has no guideline for hardness | Nothing on the report will flag hardness as "high". You have to judge it yourself |
| Sample results range: 172 – 302 | The lowest and highest results of the year | No average is given. Your home could sit anywhere in that span, or move within it through the year |
The rest of the report explains why the range is so wide. Phoenix says that in 2025 about 97–99% of its water came from the Salt, Verde and Colorado rivers, treated at five plants. Colorado River water arrives by the Central Arizona Project canal, Salt and Verde water through the Salt River Project canals, and roughly 2% came from about 20 city wells. Different rivers carry different mineral loads, and which plant serves your neighbourhood decides which end of the range you're likely to sit near.
Range, average and why neither is your tap
Some CCRs print an average instead of, or alongside, a range. An average is more tempting to plug into a calculator, and it's worse. It flattens every source, season and sampling point into one number that may describe no actual home. A range is more honest because it shows the spread, but it still can't tell you where your house falls inside it.
Three more details to check on any CCR before trusting its hardness row:
- The year of the data. A report published in 2026 covers 2025. Some parameters that aren't sampled every year are carried forward with an older date.
- Which system the report covers. Large utilities sometimes publish separate reports, or separate columns, for different service areas or sources. Make sure the column you're reading matches your address.
- Whether hardness is there at all. Federal rules don't require it. If it's missing, the utility almost always measures it anyway and will usually tell you if you ask.
How to Read a Water Hardness Report From a Lab
A lab report is denser than a CCR but far more useful, because every number on it describes your water. The example below is an illustrative composite. The layout and column headings follow common US lab formats, but the values are invented to show how the fields relate. It isn't a real client's report or our own measurement.

Header: Sample ID 2609-0417 · Sample point: kitchen cold tap, before softener · Collected 09/02 07:40 · Received 09/03 · Matrix: drinking water
| Parameter | Result | Units | Reporting limit | Method | Standard |
|---|---|---|---|---|---|
| Total hardness | 205 | mg/L as CaCO₃ | 2 | SM 2340 B (calculated) | None |
| Calcium | 58.0 | mg/L | 0.5 | EPA 200.7 | None |
| Magnesium | 14.6 | mg/L | 0.5 | EPA 200.7 | None |
| Iron | 1.0 | mg/L | 0.05 | EPA 200.7 | 0.3 (secondary) |
| Manganese | ND | mg/L | 0.01 | EPA 200.7 | Secondary |
| pH | 7.4 | s.u. | — | SM 4500-H⁺ B | 6.5–8.5 (secondary) |
| Total dissolved solids | 380 | mg/L | 10 | SM 2540 C | 500 (secondary) |
Reading it from left to right:
Header first. The sample point is the line most people skip, and it decides whether the report is usable. "Before softener" or "outside hose bib, untreated" is what you want. A sample drawn from a softened kitchen tap measures your softener, not your water. The sampling mistakes that quietly invalidate a result almost all show up here.
Result and units together. Never read one without the other. Calcium and magnesium are in plain mg/L, meaning milligrams of that metal per litre. Total hardness is in mg/L as CaCO₃, which is a different scale. Adding 58 + 14.6 and calling the answer 72.6 mg/L of hardness is the classic error. It understates hardness almost threefold and would put this very hard water in the "moderately hard" band.
Where the total comes from. When a lab measures calcium and magnesium separately, it converts each to its calcium carbonate equivalent and adds them. EPA's hardness calculation for its stormwater permit gives the standard formula: mg/L CaCO₃ = 2.497 × Ca + 4.118 × Mg. For this sample, 2.497 × 58.0 + 4.118 × 14.6 = 144.8 + 60.1 = 205 mg/L. That's the number in the first row. If your report gives only calcium and magnesium, run this sum yourself.
Reporting limit and ND. "ND" beside manganese means the lab didn't find any above its 0.01 mg/L reporting limit. It doesn't mean zero. It means "less than 0.01".
Standard column. Hardness has no standard, so this column stays empty for all three hardness rows. The secondary standards for iron, pH and TDS are non-enforceable guidelines for taste, staining and scale. They aren't health limits. Penn State Extension's guide to interpreting a water analysis report sorts every common parameter into health-risk and general-quality groups, and it's a useful companion if your lab report runs to several pages.
Once you have mg/L as CaCO₃, divide by 17.1 for grains per gallon: 205 ÷ 17.1 = 12.0 gpg. The full conversion between gpg, ppm and mg/L, including German and French degrees, has its own reference page.
The Numbers That Feed Softener Sizing, and the Ones That Must Not
This is where reading a water hardness report turns into a purchase decision. Put the two documents side by side and sort every hardness-related figure into one of three piles.
| Figure | Found on | Feeds sizing? | Why |
|---|---|---|---|
| Total hardness, single sample, untreated tap | Lab report or your own titration | Yes, as the base number | It describes the water your softener will actually see |
| Calcium + magnesium, converted as CaCO₃ | Lab report | Yes, if no total is printed | The same number as total hardness, by another route |
| Iron (dissolved) | Lab report | Yes, as an add-on | Softener resin removes ferrous iron but uses capacity to do it. A common dealer convention adds 3–5 gpg of "compensated hardness" per 1 mg/L of iron, so this sample sizes as roughly 15–17 gpg, not 12 |
| Manganese, pH | Lab report | No, but they change the equipment | Oxidised iron and manganese foul resin, and low pH needs neutralising first. These decide what goes in front of the softener |
| TDS | Lab report or CCR | No | Total dissolved solids includes sodium, chloride and sulphate. It correlates loosely with hardness but can't stand in for it |
| Hardness range | CCR | Only as a check | Tells you whether your own reading is plausible. Never size from it |
| Hardness average | CCR | No | A system-wide blend that may match no single home |
| "Hardness: 12 gpg" on a dealer's in-home test | Sales visit | Verify first | Ask what method was used and where the sample came from, then confirm with your own test |
Everything in the "No" and "Only as a check" rows is still worth reading. It just belongs in a different decision.
Worked Case: When the CCR and Your Tap Disagree
Here is how the gap plays out in money. The utility figures are Phoenix's real 2025 range. Everything else, including the household's usage, the tap reading and the regeneration interval, is an illustrative assumption chosen to show the arithmetic, not a measured case.

Assumptions: four people using about 300 gallons a day in total, a softener set to regenerate every 7 days, no iron.
| Hardness figure used | Where it came from | Grains per day (gpg × 300) | Grains between regenerations (× 7) | Capacity class it points to |
|---|---|---|---|---|
| 10 gpg | Bottom of the CCR range | 3,000 | 21,000 | ~24,000-grain unit |
| 13.8 gpg | Midpoint of the CCR range | 4,140 | 28,980 | ~32,000-grain unit |
| 17.6 gpg | Top of the CCR range, and this home's own titration | 5,280 | 36,960 | ~40,000–48,000-grain unit |
Say a homeowner in this position picks the midpoint because it "feels safe". They buy a 32,000-grain softener. But their own tap titrates at the top of the range, so the unit has about 29,000 grains' worth of work to do in theory and nearly 37,000 in practice. Hard water breaks through a day or more before each regeneration, every week.
It gets tighter still. Nominal grain ratings are measured at high salt doses, and most owners run softeners at more efficient, lower salt settings that deliver noticeably less than the label. Starting from the wrong hardness figure compounds that shortfall.
The fix costs a few dollars: test your own untreated tap before you size anything. If the number lands outside your CCR's range, don't average the two. Find out why, because the usual explanation is a sampling problem, a different source serving your street, or a line in your house that was already treated.
Reading Your Own Tap Against the Report
The CCR is most useful as a sanity check on your own test. Take the reading from an untreated cold tap, ideally one that bypasses any softener or filter, and compare it with the report.

| Your reading vs the CCR | Most likely explanation | Next step |
|---|---|---|
| Inside the range | Normal. You're on one of the system's sources | Use your reading. Retest in another season if your utility blends several sources |
| Well below the range | Sample came through a softener, filter or partly open bypass | Resample from a tap you're sure is untreated. If readings vary around the house, see why hardness tests differ between faucets |
| Above the range | Home test reading error, a well rather than city water, or a source change after the report year | Repeat with a titration kit and the careful home test method, or send one sample to a certified lab |
| CCR has no hardness | Utility chose not to publish it | Ask the utility for the figure for your source, then test your tap anyway |
Two readings on different days from the same untreated tap, both inside or close to the CCR range, give you a figure you can size from with confidence. Use the higher one, rounded up.
What to Do With Your Report Now
- Identify the document. CCR, lab report, or a dealer's handwritten figure. Only the second is a sizing input on its own.
- Find the hardness row and its units. Convert to gpg by dividing mg/L as CaCO₃ (or ppm) by 17.1. If only calcium and magnesium are listed, use 2.497 × Ca + 4.118 × Mg first.
- Check the sample point. Anything drawn after a softener or filter doesn't describe your raw water.
- Add iron if it's there. Then note manganese and pH, which decide what equipment goes before the softener.
- Compare against the CCR range. Inside it, you're done. Outside it, find out why before spending money.
- Decide whether the number matters. A figure alone isn't a verdict. Where the treatment threshold actually sits depends on the appliances in your home.
Knowing how to read a water hardness report comes down to one habit: keep system-wide figures for context and your own tap's figures for decisions. A CCR tells you the neighbourhood. Only a sample from your own tap tells you what the softener will have to handle.
Frequently Asked Questions
Why is hardness not on my water quality report?
Because nothing requires it. Hardness has no federal drinking water standard, so a utility's Consumer Confidence Report only has to list regulated contaminants that were detected. Many utilities include hardness anyway, usually in a secondary, aesthetic or 'other parameters' table near the end. If yours doesn't, call or email the utility: most measure hardness routinely and will give you the figure for the source that serves your address.
What does 'as CaCO3' mean on a water test report?
It means the lab has expressed all the calcium and magnesium in your water as the weight of calcium carbonate that would carry the same hardness. It is a common currency that lets two different minerals be added together. A total hardness of 205 mg/L as CaCO3 does not mean there are 205 mg of chalk in each litre. It is the hardness equivalent, and it is the figure you divide by 17.1 to get grains per gallon.
What is a good hardness level on a water report?
There is no health-based 'good' level, because hardness is not a health contaminant. On the scale most US labs use, under 60 mg/L (about 3.5 gpg) is soft, 61 to 120 mg/L is moderately hard, 121 to 180 mg/L is hard, and above 180 mg/L (about 10.5 gpg) is very hard. Whether your number needs treatment depends on what you are protecting: a tankless water heater tolerates far less than a garden hose.
How do I convert ppm on my water report to grains per gallon?
Divide by 17.1. Parts per million and milligrams per litre are the same number for drinking water, and one grain per gallon equals 17.1 mg/L as calcium carbonate. So 205 ppm is 12 gpg, and 302 ppm is 17.7 gpg. If the report gives calcium and magnesium separately instead, calculate total hardness first: calcium times 2.497 plus magnesium times 4.118, then divide by 17.1.
What does ND or a less-than sign mean on a water report?
ND means non-detect: the lab did not find the substance above the lowest concentration its method can reliably report. It does not mean zero. A result written as '<0.05' means the same thing with the reporting limit printed. For hardness this rarely matters, because almost all tap water has measurable hardness, but it matters for iron and manganese, which change how a softener is sized.
How often does a utility publish its water quality report?
Community water systems must deliver a Consumer Confidence Report every year by July 1, covering the previous calendar year. Under EPA's revised rule, systems serving more than 10,000 people will have to distribute reports twice a year starting in 2027. Either way, the hardness figure is a summary of many samples across the whole system, not a reading from your tap.
