Skip to content

State water index

Minnesota water hardness

Search 252 indexed communities and 321 ZIP profiles, then compare the underlying utility, source, distance, and reporting context.

Median regional evidence

330PPM

Very Hard

Indexed range 46.6–1590 PPM

ZIP profiles
321
Cities
252
Matched utilities
252
Counties
81

Understanding Minnesota

Why local comparisons matter here

Minnesota's water landscape includes major rivers and lakes, glacial aquifers, and deeper bedrock sources from the Twin Cities to prairie and northern forest regions.

In this index, very hard is the largest category, covering 208 of 221 profiles with hardness data. The state median is 330 PPM, but the full indexed range is 46.6–1590 PPM.

State distribution

Hardness across indexed ZIPs

Counts describe published ZIP profiles, not a population-weighted statewide sample.

Soft · 0–60 PPM1
Moderately hard · 61–120 PPM10
Hard · 121–180 PPM2
Very hard · 181+ PPM208

Evidence coverage

What the current records support

Hardness estimate
69%
Lead 90th percentile
100%
Copper 90th percentile
32%

174

Low-confidence hardness profiles

37

Research-comparison eligible profiles

Reported source water

Utility source mix

Groundwater
226
Surface water
25
Groundwater influenced by surface water
1

City directory

Explore Minnesota by city

Search by city or county, then sort by name, hardness, or ZIP coverage.

252 cities · 321 ZIP profiles

252 cities found

Page 1 of 11

Ada

Norman County · 1 ZIP

—

No regional sampleNo active flag

Adrian

Nobles County · 1 ZIP

—

No regional sampleNo active flag

Aitkin

Aitkin County · 1 ZIP

—

No regional sampleNo active flag

Albany

Stearns County · 1 ZIP

387PPM regional

Single regional valueNo active flag

Albert Lea

Freeborn County · 1 ZIP

279PPM regional

Single regional valueNo active flag

Alexandria

Douglas County · 1 ZIP

—

No regional sampleNo active flag

Annandale

Wright County · 1 ZIP

312PPM regional

Single regional valueNo active flag

Apple Valley

Dakota County · 1 ZIP

333PPM regional

Single regional valueNo active flag

Appleton

Swift County · 1 ZIP

—

No regional sampleNo active flag

Arden Hills

Ramsey County · 1 ZIP

181PPM regional

Single regional valueNo active flag

Arlington

Sibley County · 1 ZIP

—

No regional sampleNo active flag

Atwater

Kandiyohi County · 1 ZIP

395PPM regional

Single regional valueNo active flag

Avon

Stearns County · 1 ZIP

387PPM regional

Single regional valueNo active flag

Babbitt

St. Louis County · 2 ZIPs

307PPM regional

Single regional valueNo active flag

Barnesville

Clay County · 1 ZIP

282PPM regional

Single regional valueNo active flag

Baxter

Crow Wing County · 1 ZIP

—

No regional sampleNo active flag

Bayport

Washington County · 1 ZIP

282PPM regional

Single regional valueNo active flag

Becker

Sherburne County · 1 ZIP

299PPM regional

Single regional valueNo active flag

Belle Plaine

Scott County · 1 ZIP

321PPM regional

Single regional valueNo active flag

Bemidji

Beltrami County · 1 ZIP

—

No regional sampleNo active flag

Benson

Swift County · 1 ZIP

—

No regional sampleNo active flag

Big Lake

Sherburne County · 1 ZIP

312PPM regional

Single regional valueNo active flag

Bird Island

Renville County · 1 ZIP

233PPM regional

Single regional valueNo active flag

Blaine

Anoka County · 2 ZIPs

363PPM regional

Regional range 351–374.5No active flag

County comparison

Highest regional-evidence county medians

Regional hardness summaries by county in Minnesota
CountyMedianRangeZIP profiles
Traverse County1590 PPM1590–15901
Clay County716 PPM282–7167
Yellow Medicine County516 PPM516–5162
Lac Qui Parle County516 PPM516–5162
Polk County411 PPM328–4933
Meeker County395 PPM395–3953
Mcleod County395 PPM395–3954
Kandiyohi County395 PPM293–3954
Otter Tail County393 PPM393–3935
Becker County393 PPM393–3932
Stearns County387 PPM286–3958
Morrison County387 PPM387–3872