Soft at the tap in all seven covered cities, whether Charlotte on the Catawba or the Triangle on Falls Lake, Jordan Lake, Lake Michie and the OWASA reservoirs. Asheville in the western mountains has some of the softest water we track. The eastern coastal plain blends in groundwater, and Wilmington's tap is still soft.
HOW IT BREAKS DOWNsoft (Wilmington, Greensboro, Charlotte, Cary, Raleigh, Durham, Asheville)
Two-metro state with subtly different water profiles. Charlotte, Raleigh, Durham and Cary all publish soft. Triangle reservoirs run with more seasonal stratification and meaningful iron content in supplementary groundwater — Cary particularly. The iron fraction in Triangle water aligns with the iron-rich Piedmont clay and means oxalic acid sees more use in the Triangle than in Charlotte.
North Carolina spans 2 hardness bands, which means there is no single answer for the whole state — the method changes as you move across it. Both ends are below.
Tap water is clean enough to be the last thing that touches the glass. Wash with it, rinse with it, squeegee it off, and nothing measurable is left behind when it dries. No distilled rinse, no deionized final pass, no spot-free rinse aid — the mineral load is too low to precipitate anything you would see. The failure mode at this end of the scale is not water chemistry, it is technique: streaks here come from a worn rubber, a dirty edge, or a pass that dried before it was pulled.
Tap water is still fine for most residential glass, with two exceptions worth knowing. Dark glass shows a faint mineral haze that lighter glass hides, and glass that is hot enough to flash the water off before you pull the squeegee will spot regardless of how soft the supply is. On both, a distilled final rinse costs about a dollar a window and removes the variable entirely. Everywhere else at this level, the water is not what is wrong.
Hardest first — the order that matters, because the hard end is where the method has to change. Each figure is the named utility's own published number; cities whose utility publishes none are listed after them, without a band. Within North Carolina the spread runs from Asheville at 5.52 mg/L to Wilmington at 39–62 mg/L — a difference big enough that the same bottle of cleaner behaves differently in each.
Where North Carolina's city pages sit in the national city rankings: hardness rank out of 185 cities whose utility publishes a figure, dissolved-solids rank out of 100, the disinfectant each utility reports, and the months each city's cleaning calendar marks for a wash. Rank 1 is the hardest or most mineral-heavy. 4 of these 7 cities use chloramine.
| CITY | HARDNESS RANK | TDS RANK | DISINFECTANT | WASH IN |
|---|---|---|---|---|
| Wilmington | 147 / 18539–62 mg/L | 78 / 100109.1 (range 66.9–323.3) mg/L | ozone + chlorine | Apr, Oct, Nov |
| Greensboro | 155 / 18534–51 mg/L | 75 / 100112–113 mg/L | chloramine | Aug, Sep, Oct |
| Charlotte | 162 / 18532 mg/L | 98 / 10059 mg/L | free chlorine | Apr, Sep, Oct |
| Cary | 166 / 18525–30 mg/L | 79 / 100109 (range 96–132) mg/L | both (seasonal switch) | Apr, Sep, Oct |
| Raleigh | 170 / 18524.7–25.5 mg/L | 83 / 10097–102 mg/L | ozone + chloramine | Apr, Sep, Oct |
| Durham | 172 / 18523–24 mg/L | not ranked | chloramine | Apr, Sep, Oct |
| Asheville | 184 / 1855.52 mg/L | not ranked | free chlorine | May, Sep, Oct |
This page is about North Carolina's water and nothing else. For how cleaning actually works in North Carolina across the year — climate, seasonal timing, the local contaminants, the housing stock — see the North Carolina cleaning guide.
For a figure at your own address rather than your city, the Hard Water Scorer takes a ZIP code. If you run a pure-water system, the TDS diagnostic reads the other end of the same problem.
Each covered city utility's own published figure, taken from its most recent annual water quality report (Consumer Confidence Report) or its water-quality page, read in 2026. A city figure is the one its utility publishes for the service area, as a single number or the range it reports; it is not a reading from any one tap. A state range runs from the lowest to the highest figure published by the utilities we cover in that state, so it brackets those cities rather than describing an average resident. A state where no covered utility publishes a figure shows a planning estimate, labelled as one.
Private wells are outside all of it. A well is whatever the rock under it says, and the only number that describes one is a test of that tap. Have a reading that disagrees with this table? Send it to us — a number that contradicts the table is worth more than one that confirms it.