Water Quality in Iowa

1,076 water systems • 593 cities • EPA SDWIS Data

1,076
Water Systems
9,389
Total Violations
934
Health-Based Violations
3,000,306
Population Served

Overview

Iowa has 1,076 active community water systems serving 3,000,306 people. These systems have accumulated 9,389 EPA Safe Drinking Water Act violations on record, of which 934 are health-based violations (meaning a contaminant exceeded safe levels).

Common contaminants found in violations: E. coli, Fecal Coliform, Contaminant 1009, Nitrate, Total Organic Carbon, Chlorine Dioxide, TTHM, Contaminant 1041, Selenium, Chlorine.

Cities with Most Violations in Iowa

# City Violations Health-Based Water Systems Population
1 Muscatine 431 4 24 29,914
2 Cedar Rapids 426 7 15 143,238
3 Oxford 295 61 27 4,176
4 Dubuque 222 1 12 60,492
5 Centerville 196 0 5 60,024
6 Walford 164 8 4 591
7 Fort Dodge 154 73 19 29,432
8 Plymouth 136 0 1 378
9 Marshalltown 132 22 15 34,613
10 Jesup 131 0 3 3,389

Largest Cities in Iowa

# City Population Violations Water Systems
1 Des Moines 254,814 36 6
2 Davenport 149,541 37 13
3 Cedar Rapids 143,238 426 15
4 Ames 97,467 14 4
5 Iowa City 97,293 79 16
6 Sioux City 85,824 21 2
7 Ankeny 80,663 26 10
8 Waterloo 69,892 5 2
9 West Des Moines 68,748 0 2
10 Newton 66,010 70 24

All Cities in Iowa

City Population Violations Health Violations Contaminants
Des Moines 254,814 36 2 Fecal Coliform
Davenport 149,541 37 0
Cedar Rapids 143,238 426 7 Chlorine, Chlorine Dioxide, Contaminant 1041 +1 more
Ames 97,467 14 0
Iowa City 97,293 79 13 Chlorine Dioxide, E. coli, TTHM +1 more
Sioux City 85,824 21 10 Contaminant 2257, TTHM
Ankeny 80,663 26 0
Waterloo 69,892 5 2 Selenium
West Des Moines 68,748 0 0
Newton 66,010 70 0
Council Bluffs 64,447 1 0
Dubuque 60,492 222 1 Chlorine Dioxide
Centerville 60,024 196 0
Urbandale 45,605 1 0
Ottumwa 42,942 16 0
Marion 42,861 1 1 Total Organic Carbon
Cedar Falls 40,951 9 0
Creston 38,079 13 2 Contaminant 2257
Indianola 35,928 4 0
Marshalltown 34,613 132 22 Selenium
Waukee 31,823 1 0
Muscatine 29,914 431 4 Chlorine Dioxide, Selenium
Fort Dodge 29,432 154 73 Barium, Contaminant 1041, E. coli +1 more
Bouton 29,382 39 5 TTHM
Mason City 27,338 8 0
Spencer 27,098 2 0
Burlington 26,205 3 2 Fecal Coliform
Johnston 25,233 36 0
Clinton 25,019 1 0
Oskaloosa 24,586 20 2 E. coli
Coralville 22,378 7 0
Tama 21,540 8 0
North Liberty 20,546 2 0
Altoona 19,565 15 3 HAA5
Clive 19,010 0 0
Grimes 15,580 5 0
Knoxville 15,173 7 0
Norwalk 14,334 0 0
Grinnell 13,192 102 36 Disinfection Byproducts, E. coli, HAA5 +1 more
Storm Lake 13,166 9 0
Boone 12,704 8 7 E. coli, Fecal Coliform
Clarinda 12,253 9 1 Selenium
Pella 11,289 4 0
Fort Madison 11,087 1 0
Lemars 10,571 0 0
Waverly 10,519 5 0
Fairfield 10,289 9 0
Carroll 10,184 1 0
Cherokee 9,965 0 0
Keokuk 9,900 0 0
Bondurant 9,393 0 0
Denison 9,381 0 0
Eldridge 9,288 30 1 Barium
Mount Pleasant 9,274 3 0
May City 9,114 2 0
Manning 9,108 6 0
Decorah 8,390 0 0
Sioux Center 8,231 4 0
Washington 8,187 20 0
Perry 7,836 0 0
Webster City 7,825 2 0
Clear Lake 7,737 2 0
Rock Rapids 7,698 7 0
Charles City 7,446 10 0
Adel 7,421 22 1 Lead
Avoca 7,387 11 3 Chlorine Dioxide
Hiawatha 7,255 12 0
Atlantic 7,252 1 0
Maquoketa 7,071 4 1 Chlorine Dioxide
Nevada 6,925 1 0
Polk City 6,558 0 0
Glenwood 6,307 5 0
Rock Valley 6,289 10 3 Chlorine Dioxide
Orange City 6,267 1 0
Independence 6,220 0 0
Spirit Lake 6,167 3 3 Fecal Coliform
Oelwein 6,062 2 0
Ireton 6,010 0 0
Asbury 5,943 0 0
Estherville 5,904 0 0
Dewitt 5,792 14 0
Anamosa 5,785 12 2
Red Oak 5,596 13 0
Sheldon 5,512 0 0
Osceola 5,503 18 13 Bromate, Contaminant 2257, Fecal Coliform
Algona 5,487 1 0
Winterset 5,428 2 2 Bromate
Iowa Falls 5,231 22 0
Shenandoah 5,101 5 1 TTHM
Vinton 5,100 1 0
Manchester 5,077 0 0
Harlan 5,067 0 0
Sergeant Bluff 5,015 1 0
Hampton 4,921 4 0
Humboldt 4,897 21 0
Camanche 4,570 37 0
Evansdale 4,561 5 0
Madrid 4,530 27 9 Chlorine, Contaminant 2257, Fecal Coliform
Mount Vernon 4,527 1 0
Tiffin 4,512 1 0
Dyersville 4,477 21 16 Total Organic Carbon
West Burlington 4,440 3 0
Solon 4,398 93 1 Disinfection Byproducts
Chariton 4,381 110 82 Chlorine, E. coli, Fecal Coliform +1 more
Tipton 4,294 86 23 Barium
Forest City 4,285 1 0
Huxley 4,244 0 0
Jefferson 4,182 3 0
Oxford 4,176 295 61 Barium, Chlorine Dioxide, E. coli +1 more
Carlisle 4,170 10 0
Hospers 4,146 12 2 Chlorine Dioxide
Monticello 4,121 2 0
Milford 4,037 64 0
Panora 3,991 11 0
Waukon 3,982 9 0
Cresco 3,913 0 0
West Liberty 3,858 0 0
Carter Lake 3,791 29 0
Emmetsburg 3,733 5 0
Albia 3,721 0 0
Osage 3,637 1 0
Eagle Grove 3,601 3 0
New Hampton 3,494 4 0
Belle Plaine 3,484 48 0
Jesup 3,389 131 0
Sibley 3,359 3 0
Story City 3,357 8 0
Williamsburg 3,345 5 0
Montezuma 3,295 1 0
Epworth 3,255 3 0
Manly 3,213 53 0
Garner 3,065 0 0
Missouri Valley 2,939 82 1 Chlorine Dioxide
Wilton 2,924 0 0
Onawa 2,906 0 0
Sigourney 2,875 5 0
Belmond 2,863 2 0
Kalona 2,857 10 1 Barium
Fairfax 2,853 19 0
Clarion 2,810 2 0
Grundy Center 2,796 0 0
Peosta 2,793 15 0
Hawarden 2,700 4 0
Bloomfield 2,682 2 0
Eldora 2,664 0 0
Ogden 2,659 2 0
Center Point 2,579 0 0
Rockwell City 2,550 10 2
Hudson 2,546 0 0
West Union 2,540 0 0
Mitchellville 2,515 12 2 Chlorine
Postville 2,513 7 0
West Branch 2,509 7 0
Marengo 2,481 39 35 Selenium
Denver 2,467 24 0
Gladbrook 2,461 8 0
Toledo 2,399 17 6 Total Organic Carbon
Cascade 2,386 1 0
Whittemore 2,386 61 7 Barium
Hull 2,384 0 0
Lake Mills 2,366 1 0
Bellevue 2,363 5 5 Total Organic Carbon
Ely 2,328 1 0
Colfax 2,305 1 0
Lisbon 2,293 8 0
Laporte City 2,284 8 0
Greenfield 2,227 6 2 E. coli
Adair 2,120 55 0
Lamoni 2,104 30 6 Fecal Coliform, TTHM
Wapello 2,096 4 0
Alta 2,087 0 0
Northwood 2,072 1 0
Britt 2,064 5 0
Sac City 2,063 0 0
Mechanicsville 2,059 18 0
Atkins 2,056 8 3 TTHM
Audubon 2,053 0 0
Ida Grove 2,051 0 0
Woodward 2,046 21 5 Barium, TTHM
Sumner 2,030 0 0
Parkersburg 2,019 0 0
Monroe 2,007 0 0
Mount Ayr 1,930 30 0
Traer 1,927 6 0
Newell 1,923 32 0
Van Horne 1,919 23 2 Contaminant 1041
New London 1,910 3 0
Pocahontas 1,905 3 0
Dallas Center 1,901 4 0
Durant 1,871 0 0
Monona 1,853 3 0
Leon 1,830 33 22 Fecal Coliform, TTHM, Total Haloacetic Acids (HAA5)
Columbus Junction 1,830 6 0
Guttenberg 1,817 0 0
Stuart 1,814 0 0
Remsen 1,770 6 0
Farley 1,766 4 1 Total Organic Carbon
Moville 1,757 2 0
Leclaire 1,742 59 0
Corning 1,735 8 4 Contaminant 1009, Fecal Coliform
Lake City 1,731 8 0
Manson 1,709 4 0
Prairie City 1,703 0 0
Mediapolis 1,688 0 0
Logan 1,677 6 0
Pleasantville 1,676 1 1 HAA5
Riceville 1,654 25 0
Granger 1,654 12 0
Batavia 1,631 20 0
Woodbine 1,622 6 0
Urbana 1,619 45 0
Corydon 1,610 8 0
Hartley 1,605 0 0
State Center 1,598 17 0
Guthrie Center 1,593 0 0
Wyoming 1,574 29 0
Akron 1,558 2 0
Nashua 1,551 18 0
Walcott 1,551 5 0
Amana 1,548 8 1 Selenium
Slater 1,548 10 3 Contaminant 1041
Oakland 1,524 2 0
Wellman 1,524 8 0
Bedford 1,508 5 0
Brooklyn 1,505 0 0
Holstein 1,501 0 0
Earlham 1,446 1 0
Palo 1,407 8 0
Kingsley 1,396 0 0
Roland 1,394 0 0
Sanborn 1,392 31 0
Lenox 1,339 2 0
Dike 1,306 2 0
Lowden 1,304 11 0
Laurens 1,301 4 0
Coon Rapids 1,300 0 0
Dysart 1,281 2 0
Shell Rock 1,269 0 0
Central City 1,264 1 0
Fayette 1,256 1 0
Gilmore City 1,249 26 2 Selenium
Springville 1,249 3 0
Alton 1,248 1 0
Glidden 1,232 8 0
Elkader 1,219 1 0
Jewell 1,216 6 0
Melcher Dallas 1,213 2 0
Gilbert 1,211 106 0
Colo 1,206 14 0
Tripoli 1,191 0 0
Tabor 1,181 12 0
Blue Grass 1,179 114 0
Buffalo 1,176 4 0
Fredericksburg 1,170 11 2 Disinfection Byproducts
Lake Park 1,167 0 0
St. Ansgar 1,161 7 0
Strawberry Point 1,155 0 0
Brighton 1,142 22 0
Lake View 1,133 17 2
Villisca 1,132 3 0
Sheffield 1,130 1 0
Aplington 1,126 1 1 Contaminant 1041
Calmar 1,125 0 0
Mapleton 1,124 4 0
Fairbank 1,111 6 5 Total Organic Carbon
Arnolds Park 1,110 0 0
Ossian 1,110 5 0
Conrad 1,098 0 0
Marcus 1,079 3 0
Sidney 1,077 9 0
George 1,077 0 0
Van Meter 1,074 1 0
Rockwell 1,071 6 0
Elk Run Heights 1,069 2 0
North English 1,065 3 0
Riverside 1,060 5 0
Treynor 1,049 8 0
Malvern 1,046 11 1 Selenium
Sloan 1,042 0 0
Dunlap 1,035 6 0
Winfield 1,035 1 0
Janesville 1,034 0 0
Griswold 1,008 8 0
Baxter 1,002 15 0
Paullina 996 12 0
Greene 994 3 0
Odebolt 994 0 0
Lansing 983 1 1 Total Organic Carbon
Long Grove 976 3 0
Anita 972 5 0
Aurelia 968 0 0
Allison 966 1 0
Wayland 966 2 0
Shellsburg 961 1 0
Keosauqua 961 12 0
Gowrie 954 0 0
Preston 949 3 0
Lawton 943 6 0
Edgewood 939 2 0
Hinton 935 7 0
Inwood 928 1 0
Larchwood 926 1 0
Princeton 923 6 3 Selenium
West Point 921 6 0
Sioux Rapids 920 8 0
Legrand 910 1 0
Carson 910 6 0
Keota 897 3 0
Graettinger 897 0 0
Primghar 896 3 0
Hamburg 890 12 0
Donnellson 885 28 12 HAA5, Total Organic Carbon
Sully 881 1 0
Armstrong 875 9 1 Disinfection Byproducts
Hills 863 2 0
Hubbard 860 0 0
Maxwell 859 7 0
Readlyn 845 0 0
Dunkerton 842 1 0
Winthrop 840 1 0
Cambridge 832 0 0
West Bend 822 3 0
Calamus 809 16 1 Total Organic Carbon
Schleswig 803 3 0
Gilbertville 794 4 0
Okoboji 793 2 0
Milo 788 7 0
Wall Lake 780 2 2 Selenium
Ruthven 779 0 0
Wheatland 775 3 2 Contaminant 1041
Salem 769 22 0
Dakota City 769 0 0
Walnut 768 0 0
Correctionville 766 0 0
Melbourne 765 0 0
Exira 764 6 2 Chlorine Dioxide
Garnavillo 763 3 0
Alden 763 1 0
Rockford 762 0 0
Manilla 758 5 0
Morning Sun 752 0 0
Mcgregor 747 3 0
Redfield 744 0 0
Blairstown 738 3 3 Contaminant 1041
Montrose 738 4 1 Fecal Coliform
Schaller 729 3 2 Chlorine Dioxide
Hedrick 728 6 0
Whiting 727 0 0
Shelby 727 6 0
Grand Junction 725 9 0
Earlville 724 2 0
Essex 722 2 0
Wellsburg 721 0 0
Merrill 717 25 0
Ventura 716 2 0
Bancroft 711 0 0
Stratford 707 6 0
Phoenix 702 0 0
Coggon 701 52 0
Boyden 701 1 0
Lakeside 700 0 0
Battle Creek 700 1 0
Dexter 693 2 0
Ellsworth 691 3 0
Walker 688 1 0
Elgin 685 1 0
Murray 684 0 0
Alburnett 675 5 0
Pomeroy 671 11 1 Contaminant 1041
Fontanelle 670 0 0
Kanawha 658 0 0
Milton 644 8 0
Moravia 637 10 0
Stanwood 637 0 0
Seymour 637 0 0
Fonda 636 5 0
Goldfield 634 0 0
Elk Horn 631 19 0
Sutherland 629 2 0
Hopkinton 622 1 0
Agency 620 0 0
Doon 619 6 0
Kellogg 617 9 0
Grand Mound 615 1 0
Spillville 614 0 0
Allerton 609 9 0
Moulton 607 0 0
Farmington 601 10 0
Keystone 599 9 4 Chlorine Dioxide, Contaminant 1041
Neola 598 13 0
Walford 591 164 8 Barium
Early 587 11 11 Selenium
Clermont 586 3 0
South English 586 15 0
Olds 584 10 0
Swea City 584 0 0
Everly 575 1 0
Radcliffe 561 2 0
Badger 561 0 0
Leland 553 20 3 Contaminant 1041
Anthon 545 3 0
Zearing 528 28 3 Contaminant 2257, E. coli
Dows 526 2 0
Arcadia 525 3 0
Charter Oak 522 4 0
Miles 517 13 0
Titonka 511 5 0
Ainsworth 511 9 0
Delhi 509 8 0
Rolfe 509 2 0
Sabula 506 27 0
Elma 505 1 0
Collins 505 0 0
Scranton 504 19 0
Breda 500 7 0
Thompson 499 1 0
New Virginia 498 1 0
Farragut 490 0 0
Garwin 481 0 0
Russell 477 15 0
Maynard 476 0 0
Lovilia 472 0 0
Dow City 467 10 2 Selenium
Norway 466 11 0
Stacyville 465 4 0
Humeston 462 27 0
Cascasde 455 15 2 Chlorine Dioxide
Klemme 441 6 0
Little Rock 441 1 1 Disinfection Byproducts
Ocheyedan 439 2 0
Hawkeye 438 0 0
Grandview 437 26 0
Ashton 436 4 0
Galva 435 1 0
Lost Nation 434 40 0
New Albin 432 1 0
Lamont 429 3 0
Marquette 429 3 3 Total Organic Carbon
Oxford Junction 424 5 0
Martensdale 421 0 0
Arlington 419 1 0
Burt 418 0 0
Panama 417 0 0
Emerson 412 2 0
Lawler 406 8 2 Contaminant 1041
Earling 397 2 0
Plainfield 393 0 0
Wesley 390 0 0
Washinginton 390 3 0
Casey 387 0 0
Colesburg 386 0 0
New Market 385 5 3 Total Haloacetic Acids (HAA5)
Duncombe 384 0 0
Vail 383 3 0
Livermore 383 7 1 Disinfection Byproducts
New Vienna 382 4 0
Worthington 382 1 0
Lynnville 380 1 0
Plymouth 378 136 0
Churdan 375 7 0
Orient 368 1 0
Birmingham 367 6 0
Ringsted 365 3 0
Massena 364 41 6 Barium, Chlorine Dioxide
Stanhope 364 8 0
Lacona 361 2 0
Rudd 358 0 0
Lewis 357 4 2 Selenium
Holy Cross 356 5 0
Templeton 352 0 0
Ryan 350 14 1 Contaminant 1041
Pleasant Hill 350 10 0
Fort Atkinson 347 0 0
Elliott 345 12 0
Brandon 341 6 0
Ute 338 4 0
Diagonal 338 30 0
Pierson 337 2 0
Middletown 336 6 0
Terril 334 4 0
Mystic 322 8 0
Peterson 322 0 0
Danbury 320 2 2 Selenium
Williams 315 8 0
Floyd 313 4 1 Endrin
Irwin 313 12 0
Vincent 311 8 0
Granville 310 0 0
Sheldahl 307 16 4 Contaminant 1041
Fertile 306 31 0
Blakesburg 305 4 0
Bode 304 0 0
Kelley 304 0 0
Luana 301 3 0
Lester 296 2 0
Salix 295 1 0
Bronson 294 3 0
Cincinnati 290 3 0
Kimballton 287 18 0
Alta Vista 282 3 0
Lytton 282 2 0
Westside 277 10 0
Macedonia 275 1 0
Ridgeway 275 2 0
Marble Rock 272 1 0
Rhodes 271 1 0
Malcom 270 0 0
Protivin 269 2 0
Yale 267 0 0
Cumberland 266 0 0
Corwith 266 3 0
Auburn 265 2 0
Maurice 265 0 0
Steamboat Rock 264 111 0
Lu Verne 258 6 0
Kiron 257 3 0
Mallard 257 65 52 Barium
Kensett 257 2 0
Hornick 255 0 0
Fenton 254 0 0
Deloit 250 10 0
Riverton 250 14 0
Defiance 250 23 0
Lineville 250 2 0
Quimby 249 3 0
Deep River 249 1 0
Luxemburg 245 0 0
Pisgah 245 0 0
Los Angeles 245 11 0
Halbur 243 1 0
Kansas City 240 17 0
Goose Lake 239 5 0
Boca Raton 236 11 0
Harvey 236 4 0
De Soto 235 1 0
Renwick 234 0 0
Marathon 230 1 0
Chelsea 229 17 0
Blencoe 224 1 0
Cantril 224 6 0
Dedham 221 97 16 Arsenic
Laurel 220 0 0
Coulter 219 8 0
Grafton 218 0 0
Clutier 213 1 0
Washta 209 0 0
Wadena 209 2 1 Chlorine Dioxide
Alvord 206 0 0
Hanlontown 206 9 0
Volga 203 2 0
Montour 203 0 0
Swisher 201 2 0
Oakville 200 10 0
Hancock 200 1 0
Jamaica 195 47 5 Contaminant 1041
Westgate 192 1 0
Stout 191 4 0
Moorhead 189 8 0
Woden 188 20 0
Magnolia 188 4 0
Smithland 181 0 0
Soldier 180 20 0
Pilot Mound 176 0 0
Wallingford 170 6 0
Lidderdale 166 5 0
Little Sioux 166 13 1 Barium
Linn Grove 163 7 0
Beaman 161 2 0
Prairieburg 160 1 0
Shambaugh 159 1 1 TTHM
Barnes City 156 8 0
Randall 154 0 0
Braddyville 147 2 0
Bristow 145 9 9 Selenium
West Chester 144 2 0
Woolstock 144 2 0
Brayton 143 3 0
Springbrook 143 2 0
Goodell 140 3 0
Clemons 140 0 0
Palmer 138 3 0
Geneva 136 0 0
Ft Dodge 136 0 0
Millersburg 135 2 0
Superior 132 3 0
Monmouth 129 55 0
Somers 128 4 0
Maharishi Vedic City 128 43 0
Pacific Junction 125 13 1 Barium
Saint Charles 121 3 0
Dawson 116 20 0
Bernard 114 0 0
Castana 103 67 0

Data Sources

Drinking water data from the EPA Safe Drinking Water Information System (SDWIS). Only active community water systems (CWS) serving 100+ people are included.

Verify at epa.gov