A meaningful split between Twin Cities surface-water sources (Mississippi River for Minneapolis, glacial-lake reservoirs for Saint Paul) and the outer-ring suburban groundwater pulled from the Prairie du Chien-Jordan aquifer. The hardness difference between adjacent municipalities can be substantial. Rochester's groundwater is the extreme case, extremely hard by its utility's figure, while Duluth on Lake Superior is soft.
HOW IT BREAKS DOWNsoft (Duluth); moderately hard (Minneapolis, Saint Paul, Bloomington); extremely hard (Rochester)
A Minneapolis customer and a Bloomington customer ten miles apart can have meaningfully different lower-sash mineral residue problems. Deionized final rinse is essentially mandatory on the groundwater-suburb routes and is best practice on the Twin Cities tap-supplied routes as well. The seasonal variation in Mississippi-source hardness, from spring snowmelt to late-summer low flow, is real enough that the protocol on year-round commercial accounts needs to adjust.
Minnesota spans 5 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.
This is the band where the water starts writing on the glass. Wash with tap — the surfactant holds the minerals in suspension while you work, so the wash pass is not the problem — then rinse with distilled and pull that. The rinse is the whole intervention: it replaces the mineral-bearing water sitting on the glass with water that has nothing in it to leave. This single change resolves most of the "I cleaned it and it still looks bad" complaints in this range, and it does not require buying a system.
A distilled rinse stops being an improvement and becomes the method. Tap water left to dry on glass at this concentration deposits a visible film within minutes, and the film is cumulative: each cleaning that ends in tap water adds a layer that the next cleaning has to get through first. Glass on a sprinkler line or under a runoff drip needs a maintenance interval, not just a better wash — the deposit is arriving faster than a cleaning schedule built around dust would predict.
The hardest water in North America — Phoenix, Las Vegas, West Texas, much of the limestone Midwest. At this concentration calcium carbonate precipitates out of any water that touches the glass and dries, so what you are looking at is essentially limestone, growing one molecular layer at a time. Tap water cannot be part of the final pass under any circumstance, including "just a quick rinse." Above roughly 300 mg/L, buying distilled by the gallon stops making economic sense against a DI filter or a pure-water pole system, and a residential owner cleaning their own glass twice a year is usually better served by a service that already owns one.
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 Minnesota the spread runs from Duluth at 44 mg/L to Rochester at 283 mg/L — a difference big enough that the same bottle of cleaner behaves differently in each.
Where Minnesota'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. 3 of these 5 cities use chloramine.
| CITY | HARDNESS RANK | TDS RANK | DISINFECTANT | WASH IN |
|---|---|---|---|---|
| Rochester | 13 / 185283 mg/L | 26 / 100330 mg/L | free chlorine | Jul |
| Minneapolis | 111 / 18583–106 mg/L | 60 / 100153 mg/L | chloramine | Jul |
| Saint Paul | 112 / 18591 mg/L | 53 / 100177 mg/L | chloramine | Jul |
| Bloomington | 114 / 18589 mg/L | not ranked | free chlorine | Jul |
| Duluth | 152 / 18544 mg/L | 94 / 10062 mg/L | chloramine | Aug |
This page is about Minnesota's water and nothing else. For how cleaning actually works in Minnesota across the year — climate, seasonal timing, the local contaminants, the housing stock — see the Minnesota 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.