Skip to content

State water index

Iowa water hardness

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

Median indexed hardness

281PPM

Very Hard

Indexed range 182–834 PPM

ZIP profiles
723
Cities
685
Matched utilities
938
Counties
99

Understanding Iowa

Why local comparisons matter here

Iowa systems draw from rivers, alluvial aquifers, glacial deposits, and deeper bedrock units. Treatment and source blending can matter as much as distance.

In this index, very hard is the largest category, covering 721 of 721 profiles with hardness data. The state median is 281 PPM, but the full indexed range is 182–834 PPM.

State distribution

Hardness across indexed ZIPs

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

Soft · 0–60 PPM0
Moderately hard · 61–120 PPM0
Hard · 121–180 PPM0
Very hard · 181+ PPM721

Evidence coverage

What the current records support

Hardness estimate
100%
Lead 90th percentile
100%
Copper 90th percentile
19%

284

Low-confidence hardness profiles

282

Nearest site more than 25 miles away

Reported source water

Utility source mix

Groundwater
788
Surface water
124
Groundwater influenced by surface water
26

City directory

Explore Iowa by city

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

685 cities · 723 ZIP profiles

685 cities found

Page 1 of 29

Ackley

Franklin County · 1 ZIP

275PPM

Single indexed valueNo active flag

Adair

Guthrie County · 1 ZIP

522PPM

Single indexed valueNo active flag

Adel

Dallas County · 1 ZIP

352PPM

Single indexed valueNo active flag

Agency

Wapello County · 1 ZIP

300PPM

Single indexed valueNo active flag

Ainsworth

Washington County · 1 ZIP

274PPM

Single indexed valueNo active flag

Akron

Plymouth County · 1 ZIP

464PPM

Single indexed valueNo active flag

Albia

Monroe County · 1 ZIP

202PPM

Single indexed valueNo active flag

Albion

Marshall County · 1 ZIP

271PPM

Single indexed valueNo active flag

Alburnett

Linn County · 1 ZIP

265PPM

Single indexed valueNo active flag

Alden

Hardin County · 1 ZIP

281PPM

Single indexed valueNo active flag

Alexander

Franklin County · 1 ZIP

273PPM

Single indexed valueNo active flag

Algona

Kossuth County · 1 ZIP

316PPM

Single indexed valueNo active flag

Allerton

Wayne County · 1 ZIP

191PPM

Single indexed valueNo active flag

Allison

Butler County · 1 ZIP

274PPM

Single indexed valueNo active flag

Alta

Buena Vista County · 1 ZIP

397PPM

Single indexed valueNo active flag

Alta Vista

Chickasaw County · 1 ZIP

255PPM

Single indexed valueNo active flag

Alton

Sioux County · 1 ZIP

453PPM

Single indexed valueNo active flag

Altoona

Polk County · 1 ZIP

329PPM

Single indexed valueNo active flag

Alvord

Lyon County · 1 ZIP

522PPM

Single indexed valueNo active flag

Amana

Iowa County · 1 ZIP

268PPM

Single indexed valueNo active flag

Ames

Story County · 4 ZIPs

317PPM

Range 293–321No active flag

Anamosa

Jones County · 1 ZIP

267PPM

Single indexed valueNo active flag

Andover

Clinton County · 1 ZIP

281PPM

Single indexed valueNo active flag

Andrew

Jackson County · 1 ZIP

274PPM

Single indexed valueNo active flag

County comparison

Highest indexed county medians

CountyMedianRangeZIP profiles
Lyon County515 PPM419–8348
Guthrie County506 PPM322–5227
Sioux County461 PPM419–46511
Plymouth County457 PPM443–4649
Clay County449 PPM321–4495
O'Brien County434 PPM409–4497
Woodbury County430 PPM411.5–456.513
Carroll County425 PPM376–47211
Polk County421 PPM291–420.528
Boone County421 PPM327–420.56
Sac County420 PPM376–434.56
Osceola County419 PPM419–4495