Arsenic in Iowa Drinking Water
Ranked by arsenic violation count · Data from EPA SDWIS & UCMR
Arsenic in Iowa: what the data shows
Iowa has 161 cities with arsenic-related violations on record. Arsenic contamination is a federal MCL violation at levels above 10 µg/L (10 ppb). The state has 161 cities with at least one arsenic violation. Arsenic enters drinking water primarily through erosion of natural deposits, particularly in western states with arsenite-bearing geology. Industrial sources include mining runoff, glass manufacturing, and semiconductor production. Groundwater systems are significantly more likely to have arsenic issues than surface water systems. Long-term arsenic exposure above the MCL increases the risk of bladder, lung, and skin cancer, as well as cardiovascular disease and diabetes. Reverse osmosis and specialized arsenic-removal media are the most effective point-of-use treatment options.
Cities exceeding 10 µg/L EPA MCL
Arsenic data across Iowa
Each dot is a city with arsenic violation data. Cities with at least one arsenic-related violation are highlighted. Size reflects population served.
Top 10 cities by arsenic level in Iowa
Highest Arsenic levels (violations)
All Iowa cities ranked by arsenic level
| # | City | Level | Level | Violations? | Violations | Grade |
|---|---|---|---|---|---|---|
| 1 | Solon | 104 violations | Yes | 157 | F | |
| 2 | Iowa City | 18 violations | Yes | 171 | F | |
| 3 | Muscatine | 17 violations | Yes | 46 | F | |
| 4 | Dubuque | 14 violations | Yes | 30 | F | |
| 5 | Blue Grass | 10 violations | Yes | 43 | C | |
| 6 | Ellsworth | 10 violations | Yes | 9 | A- | |
| 7 | Cedar Rapids | 9 violations | Yes | 31 | D | |
| 8 | Hubbard | 9 violations | Yes | 9 | A | |
| 9 | Davenport | 8 violations | Yes | 2 | C- | |
| 10 | Scranton | 7 violations | Yes | 6 | B | |
| 11 | Woodward | 6 violations | Yes | 17 | B | |
| 12 | Bettendorf | 6 violations | Yes | 11 | C+ | |
| 13 | Fort Dodge | 5 violations | Yes | 19 | D+ | |
| 14 | Coralville | 5 violations | Yes | 15 | B | |
| 15 | North Liberty | 4 violations | Yes | 29 | B- | |
| 16 | Monticello | 4 violations | Yes | 22 | D | |
| 17 | Panora | 4 violations | Yes | 26 | A- | |
| 18 | Marengo | 4 violations | Yes | 12 | B- | |
| 19 | Elkader | 4 violations | Yes | 0 | B+ | |
| 20 | Eldridge | 3 violations | Yes | 9 | B+ | |
| 21 | Webster City | 3 violations | Yes | 3 | A | |
| 22 | Anamosa | 3 violations | Yes | 5 | B- | |
| 23 | Manning | 3 violations | Yes | 4 | A- | |
| 24 | Peosta | 3 violations | Yes | 7 | A- | |
| 25 | Center Point | 3 violations | Yes | 3 | B | |
| 26 | Wapello | 3 violations | Yes | 12 | B+ | |
| 27 | Moville | 3 violations | Yes | 11 | A- | |
| 28 | Nashua | 3 violations | Yes | 0 | A- | |
| 29 | Princeton | 3 violations | Yes | 18 | B | |
| 30 | Walford | 3 violations | Yes | 7 | D | |
| 31 | Zearing | 3 violations | Yes | 2 | A- | |
| 32 | Ames | 2 violations | Yes | 15 | B+ | |
| 33 | Ankeny | 2 violations | Yes | 15 | B | |
| 34 | Council Bluffs | 2 violations | Yes | 8 | B+ | |
| 35 | Ottumwa | 2 violations | Yes | 6 | B+ | |
| 36 | Centerville | 2 violations | Yes | 4 | B+ | |
| 37 | Cherokee | 2 violations | Yes | 2 | A- | |
| 38 | Adel | 2 violations | Yes | 2 | A | |
| 39 | Rock Rapids | 2 violations | Yes | 12 | B+ | |
| 40 | De Witt | 2 violations | Yes | 26 | B+ | |
| 41 | Hampton | 2 violations | Yes | 10 | A- | |
| 42 | Garner | 2 violations | Yes | 0 | A | |
| 43 | Kalona | 2 violations | Yes | 3 | B+ | |
| 44 | Hawarden | 2 violations | Yes | 4 | A | |
| 45 | Wall Lake | 2 violations | Yes | 4 | A- | |
| 46 | Doon | 2 violations | Yes | 32 | B+ | |
| 47 | La Porte City | 2 violations | Yes | 2 | A | |
| 48 | Van Meter | 2 violations | Yes | 6 | A- | |
| 49 | Monona | 2 violations | Yes | 0 | A- | |
| 50 | Buffalo | 2 violations | Yes | 12 | A- | |
| 51 | Central City | 2 violations | Yes | 3 | A | |
| 52 | Oxford | 2 violations | Yes | 24 | C+ | |
| 53 | Clarence | 2 violations | Yes | 3 | A | |
| 54 | Armstrong | 2 violations | Yes | 1 | B+ | |
| 55 | Hamburg | 2 violations | Yes | 0 | A | |
| 56 | Donnellson | 2 violations | Yes | 20 | B+ | |
| 57 | Gilbertville | 2 violations | Yes | 0 | A- | |
| 58 | Van Horne | 2 violations | Yes | 1 | A | |
| 59 | Alden | 2 violations | Yes | 1 | A | |
| 60 | Swisher | 2 violations | Yes | 37 | F | |
| 61 | Merrill | 2 violations | Yes | 4 | A | |
| 62 | Battle Creek | 2 violations | Yes | 13 | A- | |
| 63 | Alburnett | 2 violations | Yes | 3 | A | |
| 64 | Delhi | 2 violations | Yes | 0 | B+ | |
| 65 | Des Moines | 1 violations | Yes | 7 | B+ | |
| 66 | Sioux City | 1 violations | Yes | 14 | B | |
| 67 | West Des Moines | 1 violations | Yes | 1 | B+ | |
| 68 | Waterloo | 1 violations | Yes | 3 | A- | |
| 69 | Waverly | 1 violations | Yes | 2 | B+ | |
| 70 | Cedar Falls | 1 violations | Yes | 4 | A- | |
| 71 | Burlington | 1 violations | Yes | 7 | B+ | |
| 72 | Waukee | 1 violations | Yes | 13 | A- | |
| 73 | Marshalltown | 1 violations | Yes | 4 | A- | |
| 74 | Johnston | 1 violations | Yes | 6 | B+ | |
| 75 | Spencer | 1 violations | Yes | 1 | A | |
| 76 | Mount Pleasant | 1 violations | Yes | 2 | A | |
| 77 | Red Oak | 1 violations | Yes | 9 | A- | |
| 78 | Clarinda | 1 violations | Yes | 48 | B | |
| 79 | Clear Lake | 1 violations | Yes | 2 | A- | |
| 80 | Washington | 1 violations | Yes | 13 | B+ | |
| 81 | Hiawatha | 1 violations | Yes | 12 | B- | |
| 82 | Stratford | 1 violations | Yes | 6 | A- | |
| 83 | Polk City | 1 violations | Yes | 0 | B+ | |
| 84 | Orange City | 1 violations | Yes | 0 | A- | |
| 85 | Ireton | 1 violations | Yes | 4 | A- | |
| 86 | Avoca | 1 violations | Yes | 6 | A | |
| 87 | Algona | 1 violations | Yes | 14 | B | |
| 88 | Tiffin | 1 violations | Yes | 2 | B+ | |
| 89 | Camanche | 1 violations | Yes | 0 | A | |
| 90 | West Burlington | 1 violations | Yes | 17 | B+ | |
| 91 | Forest City | 1 violations | Yes | 8 | B | |
| 92 | Story City | 1 violations | Yes | 0 | A | |
| 93 | Montezuma | 1 violations | Yes | 0 | A- | |
| 94 | Missouri Valley | 1 violations | Yes | 6 | C+ | |
| 95 | West Branch | 1 violations | Yes | 0 | B | |
| 96 | South Amana | 1 violations | Yes | 1 | A- | |
| 97 | Sutherland | 1 violations | Yes | 3 | A- | |
| 98 | Bellevue | 1 violations | Yes | 18 | A- | |
| 99 | Bloomfield | 1 violations | Yes | 41 | A- | |
| 100 | Belmond | 1 violations | Yes | 0 | A | |
| 101 | Lisbon | 1 violations | Yes | 21 | B+ | |
| 102 | Toledo | 1 violations | Yes | 8 | A | |
| 103 | Cascade | 1 violations | Yes | 0 | A | |
| 104 | Ely | 1 violations | Yes | 0 | A | |
| 105 | Lamoni | 1 violations | Yes | 5 | B+ | |
| 106 | Denver | 1 violations | Yes | 2 | A | |
| 107 | Atkins | 1 violations | Yes | 6 | A- | |
| 108 | Parkersburg | 1 violations | Yes | 0 | B+ | |
| 109 | Mount Ayr | 1 violations | Yes | 10 | A | |
| 110 | Corydon | 1 violations | Yes | 0 | A- | |
| 111 | Akron | 1 violations | Yes | 4 | A- | |
| 112 | Walcott | 1 violations | Yes | 0 | A | |
| 113 | Bedford | 1 violations | Yes | 19 | A- | |
| 114 | Earlham | 1 violations | Yes | 12 | A | |
| 115 | Kingsley | 1 violations | Yes | 3 | A- | |
| 116 | New Sharon | 1 violations | Yes | 0 | A | |
| 117 | Lone Tree | 1 violations | Yes | 1 | B+ | |
| 118 | Clarksville | 1 violations | Yes | 1 | A | |
| 119 | Springville | 1 violations | Yes | 0 | A | |
| 120 | Alton | 1 violations | Yes | 1 | A | |
| 121 | Gilbert | 1 violations | Yes | 1 | B+ | |
| 122 | Riverside | 1 violations | Yes | 6 | A- | |
| 123 | Shellsburg | 1 violations | Yes | 12 | A- | |
| 124 | Calmar | 1 violations | Yes | 4 | A | |
| 125 | Dunkerton | 1 violations | Yes | 6 | A- | |
| 126 | Sidney | 1 violations | Yes | 1 | B | |
| 127 | North English | 1 violations | Yes | 0 | A | |
| 128 | Malvern | 1 violations | Yes | 2 | B+ | |
| 129 | Janesville | 1 violations | Yes | 5 | A | |
| 130 | Baxter | 1 violations | Yes | 0 | A- | |
| 131 | Paullina | 1 violations | Yes | 3 | A | |
| 132 | Long Grove | 1 violations | Yes | 6 | A | |
| 133 | Aurelia | 1 violations | Yes | 0 | A | |
| 134 | Wayland | 1 violations | Yes | 4 | A | |
| 135 | De Soto | 1 violations | Yes | 1 | B | |
| 136 | Newell | 1 violations | Yes | 0 | A | |
| 137 | Mcgregor | 1 violations | Yes | 6 | B+ | |
| 138 | Elkhart | 1 violations | Yes | 0 | A- | |
| 139 | Sully | 1 violations | Yes | 8 | A | |
| 140 | Victor | 1 violations | Yes | 1 | C+ | |
| 141 | Winthrop | 1 violations | Yes | 0 | A | |
| 142 | Adair | 1 violations | Yes | 13 | A | |
| 143 | Schleswig | 1 violations | Yes | 14 | A | |
| 144 | Gladbrook | 1 violations | Yes | 1 | A | |
| 145 | Okoboji | 1 violations | Yes | 1 | A | |
| 146 | Milo | 1 violations | Yes | 4 | A | |
| 147 | Walnut | 1 violations | Yes | 10 | A | |
| 148 | Exira | 1 violations | Yes | 1 | A- | |
| 149 | Redfield | 1 violations | Yes | 0 | A | |
| 150 | Earlville | 1 violations | Yes | 15 | A- | |
| 151 | Essex | 1 violations | Yes | 15 | A- | |
| 152 | Boyden | 1 violations | Yes | 0 | A- | |
| 153 | Kanawha | 1 violations | Yes | 0 | A- | |
| 154 | Olin | 1 violations | Yes | 2 | A | |
| 155 | Goldfield | 1 violations | Yes | 0 | A | |
| 156 | Keystone | 1 violations | Yes | 7 | A- | |
| 157 | Clermont | 1 violations | Yes | 4 | B+ | |
| 158 | New Hartford | 1 violations | Yes | 1 | A | |
| 159 | Radcliffe | 1 violations | Yes | 3 | A | |
| 160 | Ainsworth | 1 violations | Yes | 1 | A | |
| 161 | Breda | 1 violations | Yes | 0 | A |
Frequently asked questions about arsenic in Iowa
Is arsenic in Iowa tap water a concern?
Yes — 161 cities in Iowa have arsenic-related violations on record. The EPA MCL for arsenic is 10 µg/L. Even at levels below the MCL, long-term arsenic exposure has been linked to cancer and cardiovascular disease.
How can I remove arsenic from my drinking water in Iowa?
Reverse osmosis (RO) systems are the most effective at removing arsenic, typically reducing it by 90% or more. Specialized arsenic-removal media (such as iron-based adsorption filters) are also highly effective. Standard carbon filters and pitcher filters do NOT effectively remove arsenic. If your water comes from a private well, have it tested for arsenic.
Where does arsenic in Iowa water come from?
Arsenic enters drinking water primarily through natural erosion of arsenic-bearing rock formations. It is most common in groundwater systems in the western United States, parts of the Midwest, and New England. Industrial sources include mining, smelting, and agricultural pesticide residues. Groundwater sources are far more likely to contain arsenic than surface water.