Michigan Tap Water Quality Report
652 cities analyzed • 6,300,814 people served
Updated March 2026 • Data from EWG & EPA SDWIS
Most Common Contaminants in Michigan
| Contaminant | Found In | % of Cities |
|---|---|---|
| Total trihalomethanes (TTHMs) carcinogen | 472 of 652 | 72% |
| Haloacetic acids (HAA5) carcinogen | 427 of 652 | 65% |
| Fluoride | 363 of 652 | 56% |
| Nitrate carcinogen | 213 of 652 | 33% |
| Fluoride* | 146 of 652 | 22% |
| Nitrate* carcinogen | 139 of 652 | 21% |
| Haloacetic acids (HAA9) carcinogen | 134 of 652 | 21% |
| Strontium | 127 of 652 | 19% |
| Manganese | 122 of 652 | 19% |
| Chromium (hexavalent) carcinogen | 118 of 652 | 18% |
City-by-City Water Quality Rankings
Ranked by number of contaminants above EWG health guidelines (most to fewest).
| # | City | Detected | Above Guidelines | Above Legal | People Served |
|---|---|---|---|---|---|
| 1 | Temperance | 23 | 14 | 0 | 33,816 |
| 2 | Portland | 25 | 14 | 0 | 3,883 |
| 3 | Ann Arbor | 24 | 11 | 0 | 118,017 |
| 4 | Michiana | 19 | 10 | 0 | 182 |
| 5 | Kalamazoo | 25 | 9 | 0 | 192,992 |
| 6 | Monroe | 17 | 9 | 0 | 48,664 |
| 7 | Portage | 21 | 9 | 0 | 46,292 |
| 8 | Holland | 15 | 9 | 0 | 36,542 |
| 9 | Independence Township | 19 | 9 | 0 | 11,790 |
| 10 | Zeeland | 15 | 9 | 0 | 8,328 |
| 11 | Dundee | 17 | 9 | 1 | 4,250 |
| 12 | Petersburg | 17 | 9 | 0 | 1,115 |
| 13 | Mt Pleasant | 15 | 8 | 0 | 21,688 |
| 14 | Mount Clemens | 18 | 8 | 0 | 18,405 |
| 15 | Niles | 16 | 8 | 0 | 14,215 |
| 16 | St. Joseph | 15 | 8 | 0 | 0 |
| 17 | Bronson | 11 | 8 | 0 | 0 |
| 18 | Clare | 14 | 8 | 0 | 0 |
| 19 | Wyoming | 16 | 7 | 0 | 72,125 |
| 20 | Jenison | 16 | 7 | 0 | 41,086 |
| 21 | Muskegon | 13 | 7 | 0 | 37,213 |
| 22 | Kentwood | 16 | 7 | 0 | 36,072 |
| 23 | Wyandotte | 14 | 7 | 0 | 25,883 |
| 24 | Norton Shores | 14 | 7 | 0 | 23,994 |
| 25 | Adrian | 17 | 7 | 0 | 23,663 |
| 26 | Grandville | 16 | 7 | 0 | 15,948 |
| 27 | Fenton | 14 | 7 | 0 | 11,746 |
| 28 | Muskegon Heights | 14 | 7 | 0 | 9,917 |
| 29 | Fruitport | 13 | 7 | 0 | 9,355 |
| 30 | St Joseph | 14 | 7 | 0 | 8,789 |
| 31 | Hudsonville | 16 | 7 | 0 | 7,708 |
| 32 | Roosevelt Park | 13 | 7 | 0 | 3,831 |
| 33 | North Muskegon | 13 | 7 | 0 | 3,786 |
| 34 | Ashley | 11 | 7 | 0 | 526 |
| 35 | Grand Rapids | 13 | 6 | 0 | 273,005 |
| 36 | Roseville | 10 | 6 | 0 | 47,299 |
| 37 | Allen Park | 11 | 6 | 0 | 28,210 |
| 38 | Grand Blanc | 10 | 6 | 1 | 21,000 |
| 39 | Allendale | 13 | 6 | 0 | 19,725 |
| 40 | Traverse City | 15 | 6 | 0 | 14,532 |
| 41 | Escanaba | 11 | 6 | 0 | 13,659 |
| 42 | Mt. Pleasant | 17 | 6 | 0 | 12,927 |
| 43 | East Grand Rapids | 13 | 6 | 0 | 11,637 |
| 44 | Spring Lake | 13 | 6 | 0 | 9,393 |
| 45 | Ludington | 10 | 6 | 0 | 8,184 |
| 46 | Coopersville | 13 | 6 | 0 | 4,519 |
| 47 | Plainwell | 9 | 6 | 0 | 3,998 |
| 48 | Ferrysburg | 13 | 6 | 0 | 3,268 |
| 49 | Nunica | 13 | 6 | 0 | 1,847 |
| 50 | Scottville | 13 | 6 | 0 | 1,214 |
| 51 | Northport | 10 | 6 | 0 | 526 |
| 52 | West Olive | 13 | 6 | 0 | 407 |
| 53 | Detroit | 11 | 5 | 0 | 713,777 |
| 54 | Warren | 9 | 5 | 0 | 134,056 |
| 55 | Sterling Heights | 10 | 5 | 0 | 127,000 |
| 56 | Dearborn | 9 | 5 | 0 | 109,976 |
| 57 | Clinton Township | 8 | 5 | 0 | 100,513 |
| 58 | Livonia | 9 | 5 | 0 | 96,942 |
| 59 | Canton | 9 | 5 | 0 | 90,173 |
| 60 | Macomb | 9 | 5 | 0 | 90,000 |
| 61 | Troy | 8 | 5 | 0 | 85,854 |
| 62 | Westland | 9 | 5 | 0 | 84,094 |
| 63 | Rochester Hills | 7 | 5 | 0 | 74,000 |
| 64 | Waterford | 15 | 5 | 0 | 73,441 |
| 65 | Shelby Township | 9 | 5 | 0 | 72,000 |
| 66 | Southfield | 9 | 5 | 0 | 71,739 |
| 67 | Taylor | 10 | 5 | 0 | 63,409 |
| 68 | St. Clair Shores | 9 | 5 | 0 | 59,715 |
| 69 | Dearborn Heights | 9 | 5 | 0 | 57,774 |
| 70 | Royal Oak | 9 | 5 | 0 | 57,236 |
| 71 | Farmington Hills | 8 | 5 | 0 | 56,823 |
| 72 | Ypsilanti | 10 | 5 | 0 | 53,988 |
| 73 | Saginaw | 11 | 5 | 0 | 51,508 |
| 74 | Redford Township | 8 | 5 | 0 | 49,504 |
| 75 | West Bloomfield | 8 | 5 | 0 | 49,479 |
| 76 | Novi | 10 | 5 | 0 | 48,000 |
| 77 | Chesterfield Township | 9 | 5 | 0 | 41,650 |
| 78 | Bloomfield Hills | 9 | 5 | 0 | 41,070 |
| 79 | Lincoln Park | 9 | 5 | 0 | 38,144 |
| 80 | Port Huron | 10 | 5 | 0 | 33,800 |
| 81 | Brownstown Township | 9 | 5 | 0 | 33,194 |
| 82 | Jackson | 14 | 5 | 0 | 33,165 |
| 83 | Lake Orion | 8 | 5 | 0 | 33,000 |
| 84 | Eastpointe | 9 | 5 | 0 | 32,442 |
| 85 | Northville | 9 | 5 | 0 | 32,103 |
| 86 | Southgate | 11 | 5 | 0 | 30,047 |
| 87 | Madison Heights | 9 | 5 | 0 | 29,694 |
| 88 | Oak Park | 10 | 5 | 0 | 29,654 |
| 89 | Garden City | 9 | 5 | 0 | 27,625 |
| 90 | Plymouth | 9 | 5 | 0 | 27,524 |
| 91 | Van Buren Township | 9 | 5 | 0 | 27,359 |
| 92 | Inkster | 9 | 5 | 0 | 25,369 |
| 93 | Harrison Township | 8 | 5 | 0 | 24,314 |
| 94 | Romulus | 9 | 5 | 0 | 23,989 |
| 95 | Hamtramck | 9 | 5 | 0 | 22,413 |
| 96 | Ferndale | 9 | 5 | 0 | 22,105 |
| 97 | Auburn Hills | 10 | 5 | 0 | 21,412 |
| 98 | Burton | 9 | 5 | 0 | 21,000 |
| 99 | Birmingham | 10 | 5 | 0 | 20,472 |
| 100 | Trenton | 9 | 5 | 0 | 18,544 |
| 101 | Wayne | 10 | 5 | 0 | 17,593 |
| 102 | Brighton | 10 | 5 | 0 | 17,046 |
| 103 | Fraser | 8 | 5 | 0 | 16,500 |
| 104 | Hazel Park | 9 | 5 | 0 | 16,400 |
| 105 | Grosse Pointe Woods | 9 | 5 | 0 | 16,135 |
| 106 | New Boston | 11 | 5 | 0 | 15,879 |
| 107 | Washington | 8 | 5 | 0 | 15,828 |
| 108 | Grand Haven | 8 | 5 | 0 | 15,051 |
| 109 | Berkley | 9 | 5 | 0 | 14,970 |
| 110 | Sault Ste. Marie | 10 | 5 | 0 | 14,689 |
| 111 | Harper Woods | 9 | 5 | 0 | 14,236 |
| 112 | Wixom | 7 | 5 | 0 | 13,928 |
| 113 | Woodhaven | 9 | 5 | 0 | 12,875 |
| 114 | Melvindale | 9 | 5 | 0 | 12,851 |
| 115 | New Baltimore | 11 | 5 | 0 | 12,720 |
| 116 | Riverview | 9 | 5 | 0 | 12,486 |
| 117 | Clawson | 8 | 5 | 0 | 11,825 |
| 118 | Fort Gratiot | 11 | 5 | 0 | 11,616 |
| 119 | Farmington | 9 | 5 | 0 | 11,597 |
| 120 | Grosse Pointe Park | 9 | 5 | 0 | 11,555 |
| 121 | Beverly Hills | 8 | 5 | 0 | 10,451 |
| 122 | Grosse Ile | 10 | 5 | 0 | 10,371 |
| 123 | Alpena | 11 | 5 | 0 | 10,128 |
| 124 | Bridgeport | 10 | 5 | 0 | 10,104 |
| 125 | Freeland | 10 | 5 | 0 | 9,227 |
| 126 | Iron Mountain | 5 | 5 | 0 | 9,200 |
| 127 | South Haven | 6 | 5 | 0 | 9,133 |
| 128 | Highland Park | 10 | 5 | 0 | 8,977 |
| 129 | Grand Ledge | 7 | 5 | 0 | 8,701 |
| 130 | Greenville | 10 | 5 | 0 | 8,449 |
| 131 | Kincheloe | 11 | 5 | 0 | 7,341 |
| 132 | Frankenmuth | 10 | 5 | 0 | 4,944 |
| 133 | Gladstone | 7 | 5 | 0 | 4,632 |
| 134 | Caledonia | 9 | 5 | 0 | 4,573 |
| 135 | Bridgman | 10 | 5 | 0 | 4,177 |
| 136 | Mancelona | 5 | 5 | 0 | 3,900 |
| 137 | Springfield | 8 | 5 | 0 | 3,833 |
| 138 | Kimball | 10 | 5 | 0 | 3,463 |
| 139 | Reese | 10 | 5 | 0 | 3,024 |
| 140 | Berrien Springs | 8 | 5 | 0 | 3,000 |
| 141 | Harbert | 10 | 5 | 0 | 2,825 |
| 142 | St Charles | 10 | 5 | 0 | 2,054 |
| 143 | Evart | 8 | 5 | 0 | 1,742 |
| 144 | Union City | 6 | 5 | 0 | 1,630 |
| 145 | Coloma | 6 | 5 | 0 | 1,555 |
| 146 | Birch Run | 10 | 5 | 0 | 1,555 |
| 147 | Baroda | 10 | 5 | 0 | 910 |
| 148 | Burt | 10 | 5 | 0 | 411 |
| 149 | San Diego | 7 | 5 | 1 | 105 |
| 150 | Athens | 7 | 5 | 0 | 0 |
| 151 | Covert | 6 | 5 | 0 | 0 |
| 152 | Lansing | 13 | 4 | 0 | 166,000 |
| 153 | Flint | 8 | 4 | 0 | 81,252 |
| 154 | Battle Creek | 7 | 4 | 0 | 43,975 |
| 155 | Midland | 11 | 4 | 0 | 42,547 |
| 156 | East Lansing | 8 | 4 | 0 | 33,000 |
| 157 | Bay City | 11 | 4 | 0 | 32,255 |
| 158 | Okemos | 9 | 4 | 0 | 25,600 |
| 159 | Marquette | 10 | 4 | 0 | 21,000 |
| 160 | Owosso | 9 | 4 | 0 | 16,353 |
| 161 | Ionia | 9 | 4 | 0 | 12,997 |
| 162 | Sturgis | 12 | 4 | 0 | 11,920 |
| 163 | South Lyon | 11 | 4 | 0 | 11,055 |
| 164 | Sanford | 11 | 4 | 0 | 11,000 |
| 165 | Cadillac | 6 | 4 | 0 | 10,355 |
| 166 | Ecorse | 7 | 4 | 0 | 9,512 |
| 167 | Grosse Pointe Farms | 11 | 4 | 0 | 9,479 |
| 168 | Newport | 10 | 4 | 0 | 9,300 |
| 169 | Albion | 8 | 4 | 0 | 9,144 |
| 170 | Lapeer | 5 | 4 | 1 | 8,841 |
| 171 | Fair Haven | 6 | 4 | 0 | 8,679 |
| 172 | Genesee | 6 | 4 | 0 | 8,473 |
| 173 | Rockford | 6 | 4 | 0 | 7,160 |
| 174 | St. Louis | 6 | 4 | 0 | 6,976 |
| 175 | Benton Harbor | 9 | 4 | 0 | 6,733 |
| 176 | East China | 7 | 4 | 0 | 5,847 |
| 177 | St. Clair | 8 | 4 | 0 | 5,485 |
| 178 | Grosse Pointe | 11 | 4 | 0 | 5,421 |
| 179 | Utica | 6 | 4 | 0 | 5,059 |
| 180 | Dexter | 5 | 4 | 0 | 4,500 |
| 181 | Caro | 6 | 4 | 0 | 4,229 |
| 182 | Gaylord | 7 | 4 | 0 | 3,629 |
| 183 | Middleville | 11 | 4 | 0 | 3,309 |
| 184 | Gwinn | 7 | 4 | 0 | 3,000 |
| 185 | Spring Arbor | 10 | 4 | 0 | 2,833 |
| 186 | Pinckney | 5 | 4 | 0 | 2,515 |
| 187 | Chesaning | 7 | 4 | 0 | 2,394 |
| 188 | L'anse | 8 | 4 | 0 | 2,300 |
| 189 | Auburn | 11 | 4 | 0 | 2,087 |
| 190 | Corunna | 9 | 4 | 0 | 2,028 |
| 191 | Caseville | 9 | 4 | 0 | 2,005 |
| 192 | Calumet | 7 | 4 | 0 | 1,947 |
| 193 | Montrose | 5 | 4 | 0 | 1,657 |
| 194 | Oak Brook | 6 | 4 | 0 | 1,620 |
| 195 | Stanton | 6 | 4 | 0 | 1,417 |
| 196 | Dollar Bay | 6 | 4 | 0 | 1,391 |
| 197 | Brooklyn | 6 | 4 | 1 | 1,313 |
| 198 | Frankfort | 5 | 4 | 0 | 1,286 |
| 199 | Pigeon | 9 | 4 | 0 | 1,208 |
| 200 | Springport | 4 | 4 | 0 | 800 |
| 201 | Climax | 5 | 4 | 0 | 767 |
| 202 | Twin Lake | 7 | 4 | 1 | 755 |
| 203 | Maple Rapids | 5 | 4 | 0 | 643 |
| 204 | Peck | 6 | 4 | 0 | 632 |
| 205 | Byron | 5 | 4 | 1 | 581 |
| 206 | Carsonville | 5 | 4 | 0 | 527 |
| 207 | Belmont | 7 | 4 | 0 | 268 |
| 208 | Riga | 10 | 4 | 0 | 266 |
| 209 | Pittsburgh | 5 | 4 | 0 | 263 |
| 210 | Ahmeek | 7 | 4 | 0 | 148 |
| 211 | Morganville | 5 | 4 | 0 | 122 |
| 212 | Rockwall | 7 | 4 | 1 | 40 |
| 213 | Blissfield | 10 | 4 | 0 | 0 |
| 214 | Deerfield | 10 | 4 | 0 | 0 |
| 215 | Copper City | 7 | 4 | 0 | 0 |
| 216 | Colon | 5 | 4 | 0 | 0 |
| 217 | Martin | 6 | 4 | 0 | 0 |
| 218 | Kingsford | 6 | 4 | 0 | 0 |
| 219 | Marcellus | 5 | 4 | 0 | 0 |
| 220 | Lawrence | 7 | 4 | 0 | 0 |
| 221 | Mendon | 7 | 4 | 0 | 0 |
| 222 | New Lothrop | 8 | 4 | 0 | 0 |
| 223 | Kinde | 8 | 4 | 1 | 0 |
| 224 | Almont | 5 | 4 | 0 | 0 |
| 225 | Coldwater | 7 | 3 | 0 | 13,822 |
| 226 | Flat Rock | 4 | 3 | 0 | 10,541 |
| 227 | Big Rapids | 7 | 3 | 0 | 10,403 |
| 228 | Marysville | 5 | 3 | 0 | 9,959 |
| 229 | Algonac | 5 | 3 | 0 | 9,866 |
| 230 | Essexville | 12 | 3 | 0 | 9,652 |
| 231 | Belleville | 4 | 3 | 0 | 9,576 |
| 232 | New Hudson | 5 | 3 | 0 | 9,390 |
| 233 | Alma | 5 | 3 | 0 | 9,182 |
| 234 | Menominee | 8 | 3 | 0 | 8,583 |
| 235 | Flushing | 4 | 3 | 0 | 8,311 |
| 236 | Armada | 4 | 3 | 0 | 8,257 |
| 237 | Mason | 5 | 3 | 0 | 8,252 |
| 238 | St. Johns | 4 | 3 | 0 | 7,896 |
| 239 | River Rouge | 4 | 3 | 0 | 7,224 |
| 240 | Marshall | 5 | 3 | 0 | 7,088 |
| 241 | Ishpeming | 4 | 3 | 0 | 6,470 |
| 242 | Milford | 6 | 3 | 0 | 6,366 |
| 243 | Huntington Woods | 4 | 3 | 0 | 6,200 |
| 244 | Manistee | 8 | 3 | 0 | 6,200 |
| 245 | Carleton | 6 | 3 | 0 | 5,959 |
| 246 | Swartz Creek | 4 | 3 | 0 | 5,800 |
| 247 | White Lake | 4 | 3 | 0 | 5,799 |
| 248 | Richmond | 5 | 3 | 0 | 5,733 |
| 249 | New Haven | 4 | 3 | 0 | 5,600 |
| 250 | Davison | 5 | 3 | 0 | 5,000 |
| 251 | Gibraltar | 4 | 3 | 0 | 4,997 |
| 252 | Buchanan | 4 | 3 | 0 | 4,871 |
| 253 | Marine City | 7 | 3 | 0 | 4,652 |
| 254 | Negaunee | 4 | 3 | 0 | 4,568 |
| 255 | Wayland | 4 | 3 | 0 | 4,435 |
| 256 | Lowell | 4 | 3 | 0 | 4,150 |
| 257 | Lathrup Village | 4 | 3 | 0 | 4,075 |
| 258 | Linden | 6 | 3 | 0 | 4,004 |
| 259 | Williamston | 5 | 3 | 0 | 3,917 |
| 260 | Whittaker | 4 | 3 | 0 | 3,907 |
| 261 | Saugatuck | 5 | 3 | 0 | 3,892 |
| 262 | Cedar Springs | 4 | 3 | 0 | 3,520 |
| 263 | Paw Paw | 6 | 3 | 0 | 3,362 |
| 264 | Rockwood | 4 | 3 | 0 | 3,289 |
| 265 | Charlevoix | 6 | 3 | 0 | 3,124 |
| 266 | Mount Morris | 4 | 3 | 0 | 3,086 |
| 267 | St. Ignace | 6 | 3 | 0 | 2,987 |
| 268 | Fowlerville | 4 | 3 | 0 | 2,951 |
| 269 | Grosse Pointe Shores | 4 | 3 | 0 | 2,929 |
| 270 | Whitehall | 3 | 3 | 0 | 2,902 |
| 271 | Lakeport | 4 | 3 | 0 | 2,900 |
| 272 | Rogers City | 4 | 3 | 0 | 2,827 |
| 273 | Vassar | 4 | 3 | 0 | 2,697 |
| 274 | Sandusky | 4 | 3 | 0 | 2,679 |
| 275 | Potterville | 4 | 3 | 0 | 2,617 |
| 276 | Clio | 4 | 3 | 0 | 2,515 |
| 277 | Croswell | 5 | 3 | 0 | 2,447 |
| 278 | Cass City | 4 | 3 | 0 | 2,428 |
| 279 | Reed City | 4 | 3 | 0 | 2,425 |
| 280 | Jonesville | 4 | 3 | 0 | 2,258 |
| 281 | Morenci | 4 | 3 | 0 | 2,220 |
| 282 | East Jordan | 4 | 3 | 0 | 2,215 |
| 283 | Hartland | 4 | 3 | 0 | 2,200 |
| 284 | Sylvan Lake | 4 | 3 | 0 | 2,155 |
| 285 | Mattawan | 4 | 3 | 0 | 2,037 |
| 286 | Yale | 5 | 3 | 0 | 1,900 |
| 287 | Olivet | 5 | 3 | 0 | 1,758 |
| 288 | Sebewaing | 6 | 3 | 0 | 1,721 |
| 289 | Harbor Beach | 5 | 3 | 0 | 1,703 |
| 290 | South Rockwood | 6 | 3 | 0 | 1,675 |
| 291 | Homer | 4 | 3 | 0 | 1,668 |
| 292 | Kingsley | 3 | 3 | 0 | 1,657 |
| 293 | Hemlock | 4 | 3 | 0 | 1,632 |
| 294 | Ovid | 4 | 3 | 0 | 1,612 |
| 295 | Schoolcraft | 6 | 3 | 0 | 1,525 |
| 296 | Shepherd | 4 | 3 | 0 | 1,515 |
| 297 | Webberville | 4 | 3 | 1 | 1,503 |
| 298 | Fennville | 3 | 3 | 0 | 1,459 |
| 299 | Glen Arbor | 4 | 3 | 0 | 1,365 |
| 300 | Litchfield | 3 | 3 | 0 | 1,310 |
| 301 | Manton | 3 | 3 | 0 | 1,287 |
| 302 | Orem | 5 | 3 | 0 | 1,278 |
| 303 | Edmore | 4 | 3 | 0 | 1,256 |
| 304 | Stockbridge | 4 | 3 | 0 | 1,202 |
| 305 | Memphis | 4 | 3 | 0 | 1,180 |
| 306 | Fowler | 5 | 3 | 0 | 1,136 |
| 307 | Otsego | 5 | 3 | 0 | 1,133 |
| 308 | Reading | 4 | 3 | 0 | 1,078 |
| 309 | Millington | 4 | 3 | 0 | 1,072 |
| 310 | Port Hope | 5 | 3 | 0 | 1,058 |
| 311 | Concord | 4 | 3 | 0 | 1,050 |
| 312 | North Branch | 5 | 3 | 0 | 1,021 |
| 313 | Lakeview | 3 | 3 | 0 | 1,007 |
| 314 | Elsie | 5 | 3 | 0 | 966 |
| 315 | Central Lake | 3 | 3 | 0 | 952 |
| 316 | Deckerville | 5 | 3 | 0 | 950 |
| 317 | Mayville | 4 | 3 | 0 | 950 |
| 318 | Onsted | 4 | 3 | 0 | 907 |
| 319 | Los Angeles | 4 | 3 | 0 | 900 |
| 320 | Grant | 4 | 3 | 0 | 894 |
| 321 | Otisville | 5 | 3 | 1 | 864 |
| 322 | Stephenson | 3 | 3 | 0 | 862 |
| 323 | Pentwater | 4 | 3 | 0 | 857 |
| 324 | Lake City | 4 | 3 | 0 | 836 |
| 325 | Forestville | 5 | 3 | 0 | 836 |
| 326 | Marion | 4 | 3 | 0 | 800 |
| 327 | Lyons | 4 | 3 | 0 | 789 |
| 328 | Vermontville | 4 | 3 | 0 | 780 |
| 329 | South Range | 3 | 3 | 0 | 745 |
| 330 | Thompsonville | 3 | 3 | 0 | 700 |
| 331 | Hillman | 4 | 3 | 0 | 697 |
| 332 | Merrill | 4 | 3 | 0 | 695 |
| 333 | Glen Allen | 4 | 3 | 0 | 673 |
| 334 | West Covina | 3 | 3 | 0 | 670 |
| 335 | Sheridan | 5 | 3 | 0 | 649 |
| 336 | Metamora | 3 | 3 | 0 | 565 |
| 337 | Buckley | 3 | 3 | 0 | 529 |
| 338 | Palmer | 4 | 3 | 0 | 489 |
| 339 | Powers | 4 | 3 | 0 | 459 |
| 340 | Perrinton | 4 | 3 | 0 | 439 |
| 341 | Three Rivers | 4 | 3 | 0 | 398 |
| 342 | Charlotte | 5 | 3 | 0 | 363 |
| 343 | Bear Lake | 3 | 3 | 0 | 318 |
| 344 | Ada | 4 | 3 | 0 | 288 |
| 345 | Garden | 4 | 3 | 0 | 270 |
| 346 | Decker | 5 | 3 | 0 | 263 |
| 347 | Clarkston | 5 | 3 | 0 | 258 |
| 348 | Rock | 6 | 3 | 0 | 250 |
| 349 | Granger | 8 | 3 | 0 | 202 |
| 350 | Dimondale | 4 | 3 | 0 | 177 |
| 351 | Lima | 4 | 3 | 0 | 125 |
| 352 | Romeo | 4 | 3 | 0 | 115 |
| 353 | Allegan | 6 | 3 | 0 | 101 |
| 354 | Pierson | 7 | 3 | 1 | 100 |
| 355 | Rapid River | 6 | 3 | 0 | 95 |
| 356 | St. Jospeh | 3 | 3 | 0 | 90 |
| 357 | Belding | 5 | 3 | 0 | 78 |
| 358 | Au Gres | 3 | 3 | 0 | 66 |
| 359 | Boynton Beach | 4 | 3 | 0 | 54 |
| 360 | Westerville | 4 | 3 | 0 | 50 |
| 361 | Pullman | 5 | 3 | 0 | 30 |
| 362 | Rosebush | 6 | 3 | 0 | 25 |
| 363 | Jones | 4 | 3 | 0 | 0 |
| 364 | Bangor | 6 | 3 | 0 | 0 |
| 365 | Gobles | 3 | 3 | 0 | 0 |
| 366 | Republic | 3 | 3 | 0 | 0 |
| 367 | Capac | 5 | 3 | 0 | 0 |
| 368 | Baraga | 5 | 3 | 0 | 0 |
| 369 | Clinton | 4 | 3 | 0 | 0 |
| 370 | Constantine | 3 | 3 | 0 | 0 |
| 371 | Lenox | 4 | 3 | 0 | 0 |
| 372 | Dryden | 4 | 3 | 0 | 0 |
| 373 | Howell | 4 | 2 | 0 | 10,068 |
| 374 | Petoskey | 4 | 2 | 0 | 8,979 |
| 375 | Holly | 4 | 2 | 0 | 8,557 |
| 376 | Houghton | 3 | 2 | 0 | 8,386 |
| 377 | Hillsdale | 3 | 2 | 0 | 8,163 |
| 378 | Milan | 4 | 2 | 0 | 7,363 |
| 379 | Hastings | 3 | 2 | 0 | 7,350 |
| 380 | Rochester | 4 | 2 | 0 | 7,130 |
| 381 | Oscoda | 4 | 2 | 0 | 6,997 |
| 382 | Tawas City | 3 | 2 | 0 | 5,815 |
| 383 | Chelsea | 3 | 2 | 0 | 5,474 |
| 384 | Fremont | 6 | 2 | 0 | 4,516 |
| 385 | Sparta | 4 | 2 | 0 | 4,140 |
| 386 | Lexington | 4 | 2 | 0 | 3,854 |
| 387 | Boyne City | 3 | 2 | 0 | 3,735 |
| 388 | Imlay City | 4 | 2 | 0 | 3,579 |
| 389 | Oxford | 4 | 2 | 0 | 3,540 |
| 390 | Cottrellville | 2 | 2 | 0 | 3,200 |
| 391 | Manistique | 5 | 2 | 0 | 3,197 |
| 392 | Gladwin | 3 | 2 | 0 | 2,933 |
| 393 | New Buffalo | 2 | 2 | 0 | 2,845 |
| 394 | Munising | 2 | 2 | 0 | 2,783 |
| 395 | Watervliet | 3 | 2 | 0 | 2,735 |
| 396 | Ontonagon | 3 | 2 | 0 | 2,607 |
| 397 | Newaygo | 5 | 2 | 0 | 2,571 |
| 398 | Montague | 3 | 2 | 0 | 2,479 |
| 399 | North Street | 2 | 2 | 0 | 2,400 |
| 400 | Galesburg | 2 | 2 | 0 | 2,377 |
| 401 | Hudson | 3 | 2 | 0 | 2,307 |
| 402 | Manchester | 4 | 2 | 0 | 2,150 |
| 403 | Grawn | 3 | 2 | 0 | 2,125 |
| 404 | Perry | 5 | 2 | 0 | 2,065 |
| 405 | Lake Odessa | 3 | 2 | 0 | 2,018 |
| 406 | Newberry | 2 | 2 | 0 | 2,000 |
| 407 | Grass Lake | 3 | 2 | 0 | 1,986 |
| 408 | Leslie | 3 | 2 | 0 | 1,872 |
| 409 | Howard City | 3 | 2 | 0 | 1,800 |
| 410 | Centreville | 3 | 2 | 0 | 1,778 |
| 411 | Elk Rapids | 3 | 2 | 0 | 1,642 |
| 412 | Nashville | 4 | 2 | 0 | 1,628 |
| 413 | Kawkawlin | 7 | 2 | 0 | 1,480 |
| 414 | Dowagiac | 3 | 2 | 0 | 1,350 |
| 415 | Bellevue | 4 | 2 | 0 | 1,282 |
| 416 | Harbor Springs | 3 | 2 | 0 | 1,227 |
| 417 | Ravenna | 5 | 2 | 0 | 1,219 |
| 418 | Pinconning | 7 | 2 | 0 | 1,210 |
| 419 | Unknown | 3 | 2 | 0 | 1,060 |
| 420 | Port Austin | 4 | 2 | 0 | 1,004 |
| 421 | Hesperia | 7 | 2 | 0 | 954 |
| 422 | Boyne Falls | 4 | 2 | 0 | 950 |
| 423 | Linwood | 7 | 2 | 0 | 909 |
| 424 | Mackinaw City | 4 | 2 | 0 | 897 |
| 425 | Onaway | 5 | 2 | 0 | 880 |
| 426 | Ubly | 3 | 2 | 0 | 858 |
| 427 | Parma | 3 | 2 | 0 | 768 |
| 428 | Interlochen | 3 | 2 | 0 | 750 |
| 429 | Sunfield | 3 | 2 | 0 | 680 |
| 430 | Port Sanilac | 4 | 2 | 0 | 674 |
| 431 | Mcbain | 3 | 2 | 0 | 640 |
| 432 | Mio | 2 | 2 | 0 | 622 |
| 433 | Eau Claire | 3 | 2 | 0 | 610 |
| 434 | Muir | 3 | 2 | 0 | 604 |
| 435 | Mackinac Island | 4 | 2 | 0 | 583 |
| 436 | Ramsay | 2 | 2 | 0 | 551 |
| 437 | Waldron | 3 | 2 | 0 | 538 |
| 438 | Camden | 3 | 2 | 0 | 512 |
| 439 | Unionville | 3 | 2 | 0 | 508 |
| 440 | Harrisville | 3 | 2 | 0 | 493 |
| 441 | Freeport | 3 | 2 | 0 | 483 |
| 442 | Ironwood | 2 | 2 | 0 | 474 |
| 443 | Kaleva | 5 | 2 | 0 | 464 |
| 444 | Kingston | 3 | 2 | 0 | 440 |
| 445 | Akron | 3 | 2 | 0 | 402 |
| 446 | Lennon | 4 | 2 | 1 | 400 |
| 447 | Mesick | 4 | 2 | 0 | 397 |
| 448 | Cedar Lake | 5 | 2 | 0 | 360 |
| 449 | Sand Lake | 4 | 2 | 0 | 360 |
| 450 | Detour Village | 4 | 2 | 0 | 325 |
| 451 | Ottawa Lake | 6 | 2 | 0 | 303 |
| 452 | Eagle Harbor | 3 | 2 | 0 | 300 |
| 453 | Alanson | 2 | 2 | 0 | 274 |
| 454 | Grand Beach | 2 | 2 | 0 | 272 |
| 455 | Keego Harbor | 3 | 2 | 0 | 270 |
| 456 | Owendale | 3 | 2 | 0 | 241 |
| 457 | Posen | 3 | 2 | 0 | 234 |
| 458 | Mt. Clemens | 4 | 2 | 0 | 230 |
| 459 | Trout Creek | 2 | 2 | 0 | 200 |
| 460 | Minden City | 3 | 2 | 0 | 197 |
| 461 | Palmyra | 3 | 2 | 0 | 193 |
| 462 | Gaithersburg | 2 | 2 | 0 | 190 |
| 463 | Trenary | 2 | 2 | 1 | 175 |
| 464 | Eaton Rapids | 4 | 2 | 0 | 150 |
| 465 | Stevensville | 4 | 2 | 0 | 125 |
| 466 | Bingham Farms | 4 | 2 | 0 | 100 |
| 467 | Phoenix | 3 | 2 | 0 | 100 |
| 468 | Durand | 3 | 2 | 0 | 87 |
| 469 | Langley | 4 | 2 | 0 | 75 |
| 470 | Cassopolis | 2 | 2 | 0 | 75 |
| 471 | Lewiston | 4 | 2 | 0 | 53 |
| 472 | Stanwood | 4 | 2 | 0 | 50 |
| 473 | Virginia City | 2 | 2 | 0 | 50 |
| 474 | Maple City | 3 | 2 | 0 | 25 |
| 475 | Omer | 4 | 2 | 0 | 0 |
| 476 | Addison | 3 | 2 | 0 | 0 |
| 477 | Amasa | 2 | 2 | 0 | 0 |
| 478 | Millersburg | 3 | 2 | 0 | 0 |
| 479 | Britton | 4 | 2 | 0 | 0 |
| 480 | Jasper | 3 | 2 | 0 | 0 |
| 481 | White Pigeon | 4 | 2 | 0 | 0 |
| 482 | Chassell | 5 | 2 | 0 | 0 |
| 483 | Lawton | 2 | 2 | 0 | 0 |
| 484 | Columbiaville | 3 | 2 | 0 | 0 |
| 485 | Wakefield | 3 | 2 | 0 | 0 |
| 486 | Augusta | 2 | 2 | 0 | 0 |
| 487 | Burr Oak | 5 | 2 | 0 | 0 |
| 488 | Kalkaska | 2 | 2 | 0 | 0 |
| 489 | Carson City | 4 | 2 | 0 | 0 |
| 490 | Saline | 7 | 1 | 0 | 9,158 |
| 491 | Tecumseh | 4 | 1 | 0 | 8,521 |
| 492 | Cheboygan | 2 | 1 | 0 | 5,500 |
| 493 | Norway | 1 | 1 | 0 | 3,314 |
| 494 | Ithaca | 4 | 1 | 0 | 3,098 |
| 495 | Iron River | 1 | 1 | 0 | 3,019 |
| 496 | Vicksburg | 1 | 1 | 0 | 2,906 |
| 497 | Michigan Center | 2 | 1 | 0 | 2,408 |
| 498 | Hart | 2 | 1 | 0 | 2,126 |
| 499 | Baldwin | 1 | 1 | 0 | 2,000 |
| 500 | Shelby | 3 | 1 | 0 | 1,964 |
| 501 | White Cloud | 2 | 1 | 0 | 1,408 |
| 502 | Saranac | 1 | 1 | 0 | 1,343 |
| 503 | Brown City | 2 | 1 | 0 | 1,316 |
| 504 | Quinnesec | 1 | 1 | 0 | 1,200 |
| 505 | Bellaire | 1 | 1 | 0 | 1,086 |
| 506 | Roscommon | 4 | 1 | 0 | 1,075 |
| 507 | Crystal Falls | 2 | 1 | 0 | 990 |
| 508 | Holt | 2 | 1 | 0 | 950 |
| 509 | Suttons Bay | 2 | 1 | 0 | 874 |
| 510 | Brimley | 2 | 1 | 0 | 767 |
| 511 | Tekonsha | 2 | 1 | 0 | 722 |
| 512 | Caspian | 1 | 1 | 0 | 580 |
| 513 | Benzonia | 1 | 1 | 0 | 491 |
| 514 | Salt Lake City | 2 | 1 | 0 | 480 |
| 515 | Pewamo | 3 | 1 | 0 | 476 |
| 516 | Atlanta | 2 | 1 | 0 | 435 |
| 517 | Grand Marais | 1 | 1 | 0 | 411 |
| 518 | Las Vegas | 2 | 1 | 0 | 380 |
| 519 | Elberta | 2 | 1 | 0 | 372 |
| 520 | Bradenton | 2 | 1 | 0 | 372 |
| 521 | Somerset Center | 2 | 1 | 0 | 368 |
| 522 | Gaines | 2 | 1 | 0 | 367 |
| 523 | Rockland | 1 | 1 | 0 | 350 |
| 524 | St. Petersburg | 2 | 1 | 0 | 348 |
| 525 | Whitmore Lake | 3 | 1 | 0 | 330 |
| 526 | Hancock | 1 | 1 | 0 | 300 |
| 527 | Big Bay | 2 | 1 | 0 | 300 |
| 528 | Delton | 2 | 1 | 0 | 260 |
| 529 | Cedaredge | 1 | 1 | 0 | 248 |
| 530 | D | 1 | 1 | 0 | 190 |
| 531 | East Leroy | 1 | 1 | 0 | 168 |
| 532 | Englewood | 2 | 1 | 0 | 155 |
| 533 | Houghton Lake | 3 | 1 | 0 | 148 |
| 534 | Chicago | 1 | 1 | 0 | 142 |
| 535 | Comstock Park | 3 | 1 | 0 | 140 |
| 536 | Hamilton | 4 | 1 | 0 | 137 |
| 537 | Durango | 2 | 1 | 0 | 125 |
| 538 | Miami | 2 | 1 | 0 | 125 |
| 539 | Manitou Beach | 2 | 1 | 0 | 112 |
| 540 | Aurora | 2 | 1 | 0 | 105 |
| 541 | Rose City | 1 | 1 | 0 | 102 |
| 542 | Seney | 2 | 1 | 0 | 100 |
| 543 | Hickory Corners | 2 | 1 | 0 | 100 |
| 544 | Onondaga | 2 | 1 | 0 | 96 |
| 545 | Lumbard | 1 | 1 | 0 | 95 |
| 546 | Gross Pointe Farms | 2 | 1 | 0 | 90 |
| 547 | Austin | 2 | 1 | 0 | 90 |
| 548 | Quincy | 1 | 1 | 0 | 87 |
| 549 | Lamont | 2 | 1 | 0 | 86 |
| 550 | Hersey | 4 | 1 | 0 | 84 |
| 551 | Yonkville | 1 | 1 | 0 | 84 |
| 552 | Conway | 2 | 1 | 0 | 84 |
| 553 | Middlebury | 1 | 1 | 0 | 80 |
| 554 | Weidman | 2 | 1 | 0 | 72 |
| 555 | Farwell | 4 | 1 | 0 | 71 |
| 556 | Alto | 1 | 1 | 0 | 52 |
| 557 | Hartford | 1 | 1 | 0 | 50 |
| 558 | Rancho Santa Fe | 2 | 1 | 0 | 50 |
| 559 | Irving | 2 | 1 | 0 | 42 |
| 560 | Dewitt | 2 | 1 | 0 | 39 |
| 561 | Rockville | 1 | 1 | 0 | 32 |
| 562 | Sandy | 1 | 1 | 0 | 31 |
| 563 | Pleasant Ridge | 3 | 1 | 0 | 25 |
| 564 | Vanderbilt | 2 | 1 | 0 | 25 |
| 565 | Mebane | 3 | 1 | 0 | 20 |
| 566 | Bessemer | 4 | 1 | 0 | 0 |
| 567 | Chatham | 3 | 1 | 0 | 0 |
| 568 | Decatur | 3 | 1 | 0 | 0 |
| 569 | Dansville | 2 | 1 | 0 | 0 |
| 570 | Watersmeet | 2 | 1 | 0 | 0 |
| 571 | Empire | 3 | 1 | 0 | 0 |
| 572 | Coleman | 3 | 1 | 0 | 0 |
| 573 | Sterling | 3 | 1 | 0 | 0 |
| 574 | Marenisco | 1 | 1 | 0 | 0 |
| 575 | Alpha | 2 | 1 | 0 | 0 |
| 576 | Bancroft | 2 | 1 | 0 | 0 |
| 577 | Breckenridge | 3 | 1 | 0 | 0 |
| 578 | Alger | 3 | 1 | 0 | 0 |
| 579 | Marlette | 1 | 0 | 0 | 1,875 |
| 580 | Three Oaks | 4 | 0 | 0 | 1,622 |
| 581 | Lake Linden | 1 | 0 | 0 | 1,203 |
| 582 | Harrison | 0 | 0 | 0 | 1,100 |
| 583 | Westphalia | 1 | 0 | 0 | 925 |
| 584 | Waymart | 1 | 0 | 0 | 845 |
| 585 | Elkton | 2 | 0 | 0 | 808 |
| 586 | Wolverine Lake | 0 | 0 | 0 | 640 |
| 587 | Napoleon | 0 | 0 | 0 | 444 |
| 588 | Arcadia | 1 | 0 | 0 | 400 |
| 589 | Gowen | 2 | 0 | 0 | 390 |
| 590 | Gagetown | 1 | 0 | 0 | 388 |
| 591 | Ellsworth | 2 | 0 | 0 | 349 |
| 592 | Clifford | 1 | 0 | 0 | 324 |
| 593 | Skandia | 0 | 0 | 0 | 275 |
| 594 | Edwardsburg | 0 | 0 | 0 | 265 |
| 595 | Walloon Lake | 1 | 0 | 0 | 261 |
| 596 | Summerland | 1 | 0 | 0 | 255 |
| 597 | Rudyard | 1 | 0 | 0 | 250 |
| 598 | Beaverton | 1 | 0 | 0 | 250 |
| 599 | Grosse Point Park | 1 | 0 | 0 | 248 |
| 600 | Columbia | 2 | 0 | 0 | 208 |
| 601 | Germfask | 1 | 0 | 0 | 200 |
| 602 | Copper Harbor | 0 | 0 | 0 | 200 |
| 603 | Cookeville | 1 | 0 | 0 | 190 |
| 604 | Saint Petersburg | 1 | 0 | 0 | 185 |
| 605 | Canal Fulton | 0 | 0 | 0 | 178 |
| 606 | Dorchester | 1 | 0 | 0 | 175 |
| 607 | Toledo | 1 | 0 | 0 | 156 |
| 608 | Sioux Falls | 0 | 0 | 0 | 150 |
| 609 | Palm Beach Gardens | 1 | 0 | 0 | 148 |
| 610 | Tustin | 1 | 0 | 0 | 145 |
| 611 | Applegate | 1 | 0 | 0 | 140 |
| 612 | Williamsburg | 1 | 0 | 0 | 128 |
| 613 | West Branch | 0 | 0 | 0 | 125 |
| 614 | Colorado Springs | 1 | 0 | 0 | 110 |
| 615 | Nottawa | 1 | 0 | 0 | 100 |
| 616 | St Louis | 1 | 0 | 0 | 95 |
| 617 | Lemont | 0 | 0 | 0 | 90 |
| 618 | Mecosta | 0 | 0 | 0 | 90 |
| 619 | Elida | 0 | 0 | 0 | 88 |
| 620 | Orchard Lake | 1 | 0 | 0 | 86 |
| 621 | Cleveland | 1 | 0 | 0 | 80 |
| 622 | Jacksonville | 0 | 0 | 0 | 80 |
| 623 | Bloomingdale | 2 | 0 | 0 | 78 |
| 624 | Glenn | 2 | 0 | 0 | 77 |
| 625 | Holton | 0 | 0 | 0 | 75 |
| 626 | Bloomfield | 1 | 0 | 0 | 75 |
| 627 | Idlewild | 1 | 0 | 0 | 68 |
| 628 | Magnolia | 1 | 0 | 0 | 52 |
| 629 | Beulah | 1 | 0 | 0 | 50 |
| 630 | Curtis | 2 | 0 | 0 | 50 |
| 631 | White Lake Charter Township | 0 | 0 | 0 | 50 |
| 632 | Apollo Beach | 1 | 0 | 0 | 45 |
| 633 | Bark River | 1 | 0 | 0 | 45 |
| 634 | Hale | 1 | 0 | 0 | 43 |
| 635 | Grayling | 0 | 0 | 0 | 40 |
| 636 | Highland | 0 | 0 | 0 | 40 |
| 637 | Mount Pleasant | 1 | 0 | 0 | 40 |
| 638 | Kewadin | 2 | 0 | 0 | 40 |
| 639 | Onekama | 0 | 0 | 0 | 38 |
| 640 | Hermansville | 0 | 0 | 0 | 36 |
| 641 | Whittemore | 2 | 0 | 0 | 30 |
| 642 | Lincoln | 1 | 0 | 0 | 30 |
| 643 | Standish | 0 | 0 | 0 | 18 |
| 644 | East Tawas | 2 | 0 | 0 | 1 |
| 645 | Bad Axe | 2 | 0 | 0 | 0 |
| 646 | Carney | 1 | 0 | 0 | 0 |
| 647 | Gaastra | 2 | 0 | 0 | 0 |
| 648 | Bergland | 1 | 0 | 0 | 0 |
| 649 | Ewen | 1 | 0 | 0 | 0 |
| 650 | Jeddo | 1 | 0 | 0 | 0 |
| 651 | Eagle River | 1 | 0 | 0 | 0 |
| 652 | Clarksville | 1 | 0 | 0 | 0 |
Recommended Filtration for Michigan
Based on the most common contaminants found across Michigan (Total trihalomethanes (TTHMs), Haloacetic acids (HAA5), Fluoride), we recommend a reverse osmosis system or high-quality carbon block filter to remove disinfection byproducts and their precursors.
Echo RO System
Removes up to 99.9% of contaminants. The gold standard for drinking water in Michigan homes.
View RO SystemsEcho Whole-Home Filter
Protect every tap in your home from chlorine, VOCs, and disinfection byproducts.
View Whole-Home FiltersEcho Hydrogen Water Flask
Once your water is clean, supercharge it with molecular hydrogen for antioxidant and anti-inflammatory benefits.
Shop Hydrogen FlaskFrequently Asked Questions
Is Michigan tap water safe to drink?
Water quality varies significantly across Michigan. Of the 652 cities analyzed, the average city has 3.0 contaminants above EWG health guidelines. The best water quality was found in Marlette. We recommend checking your specific city's report for detailed information.
What city has the best water in Michigan?
Based on our analysis, Marlette has the fewest contaminants above EWG health guidelines in Michigan, with 0 above guideline levels.
What city has the worst water in Michigan?
Based on our analysis, Portland has the most contaminants above EWG health guidelines in Michigan, with 14 above guideline levels.
What's the best water filter for Michigan residents?
For most Michigan households, we recommend a reverse osmosis (RO) system for drinking water and a whole-home filter for showers and baths. The specific recommendation depends on your city's contaminant profile — check your city's report for personalized guidance.
National Water Quality Reports
Data sources: Environmental Working Group (EWG) Tap Water Database, U.S. EPA Safe Drinking Water Information System (SDWIS)
Last updated: March 2026
Methodology: Contaminant levels are compared against both EPA legal limits (Maximum Contaminant Levels) and EWG health guidelines, which are often stricter and based on the latest scientific research.