Skip to main content
WaterVerge

Michigan Water Quality Rankings

513 cities ranked · Data from EPA SDWIS

81
State avg score
513
Cities ranked
86%
A or B grade
7%
D or F grade
344
Health violations
75
PFAS detected

Michigan water quality overview

Michigan's drinking water quality is good overall, with a state average score of 81 out of 100 — 6.5 points above the national average of 74.5. The median city score is 84.6, reflecting how water quality is distributed across the state's 513 ranked cities. 86% of Michigan cities earned an A or B grade, indicating broadly strong water quality infrastructure. Only 16 cities received a failing grade. PFAS "forever chemicals" were detected in 75 of 513 cities (15%). Of those, 8 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 12 cities have lead levels exceeding the EPA action level of 15 ppb, typically a sign of aging lead service lines or lead solder in older plumbing. Residents in these areas should use an NSF 53-certified filter. 344 cities have recorded health-based violations with the EPA — meaning contaminant levels exceeded safe limits or required testing was missed. Use the table below to find your city's specific record.

How Michigan cities scored

48%
39%
A
244
48%
Excellent
B
198
39%
Good
C
34
7%
Fair
D
21
4%
Poor
F
16
3%
Failing

Score distribution by range

236 118 0
1
5
24
16
25
90
236
116
0–9
10–19
20–29
30–39
40–49
50–59
60–69
70–79
80–89
90–100

State vs national average

B+
Michigan
81/100
B-
National avg
74.5/100
▲ 6.5 pts above national average

Water quality across Michigan

Each dot is a city, colored by grade. Size reflects population served. Click any city to view its full report.

All 513 cities in Michigan

# City Grade Score Score Population Violations Issues
1 Commerce Township
A+
99
20K 0 Zero violations
2 Frankenmuth
A+
99
6K 0 Zero violations
3 Bridgeport
A+
98.6
10K 2
4 Bloomfield Township
A+
98.5
41K 0 Zero violations
5 Tecumseh
A+
98
9K 0 Zero violations
6 Byron Center
A+
97.2
37K 0 Zero violations
7 Zeeland
A+
96.4
8K 2
8 Riverview
A+
96.3
12K 2
9 Janesville
A+
96.1
1K 8 Health
10 Reese
A+
96
3K 0 Zero violations
11 Lenox
A+
96
3K 0 Zero violations
12 Nunica
A+
96
2K 0 Zero violations
13 Calumet City
A+
96
677 0 Zero violations
14 Ontonagon
A+
95.9
3K 5 Unresolved
15 Republic
A+
95.9
700 6 Health
16 Bridgman
A+
95.8
6K 26 Health Unresolved
17 Algonac
A+
95.5
14K 39 Unresolved
18 Rockwood
A+
95.5
3K 3
19 Williamston
A+
95.2
4K 6 Health Unresolved
20 Centreville (Rr Name Centervil
A+
95.1
2K 24 Unresolved
21 Hazel Park
A+
95
16K 0 Zero violations
22 Birch Run
A+
95
6K 6
23 East China
A
94.8
6K 0 Zero violations
24 Howard City
A
94.8
2K 9 Health
25 Hartland
A
94.7
3K 2
26 Menominee
A
94.6
9K 5 Health Unresolved
27 Ruskin
A
94.4
2K 35 Health Unresolved
28 Lady Lake
A
94.4
1K 6 Health Unresolved
29 Merrill
A
94.3
695 10 Unresolved
30 Dexter
A
94.1
5K 24 Unresolved
31 Almont
A
94.1
3K 8 Health Unresolved
32 New Baltimore
A
94
13K 36 Health Unresolved
33 Mio
A
93.8
682 13 Health Unresolved
34 Stephenson
A
93.7
862 5 Health Unresolved
35 Peck
A
93.7
632 2
36 Shelby
A
93.6
2K 10 Health Unresolved
37 Litchfield
A
93.6
1K 8 Health Unresolved
38 Pinconning
A
93.6
1K 6 Health
39 Harrison Township
A
93.5
24K 3 Unresolved
40 Muir
A
93.5
604 11 Health Unresolved
41 Sunfield
A
93.4
680 12 Health Unresolved
42 Pontiac
A
93.3
64K 9 Health Unresolved
43 Woodhaven
A
93.3
13K 8
44 Livonia
A
93.2
97K 5 Unresolved
45 Muskgon
A
93.2
12K 4 Health Unresolved
46 Breckenridge
A
93.2
1K 8 Unresolved
47 Warren
A
93.1
134K 3 Unresolved
48 Clare
A
92.9
3K 2
49 Osceola
A
92.9
1K 44 Health Unresolved
50 Osceola
A
92.9
1K 44 Health Unresolved
51 Carsonville
A
92.9
527 8 Health Unresolved
52 Sturgis
A
92.8
12K 9 Health Unresolved
53 Tekonsha
A
92.8
722 16 Health Unresolved
54 Rogers City
A
92.7
3K 3 Health
55 Sandusky
A
92.7
3K 12 Health Unresolved
56 Dryden
A
92.7
1K 11 Health Unresolved
57 Wilson
A
92.6
4K 2 Unresolved
58 Imlay City
A
92.5
4K 7 Health Unresolved
59 Bad Axe
A
92.5
3K 8 Health Unresolved
60 Millington
A
92.5
1K 5 Health Unresolved
61 Kincheloe
A
92.4
5K 13 Health Unresolved
62 Sterling Heights
A
92.3
127K 3 Unresolved
63 Wixom
A
92.2
14K 4 Unresolved
64 Tawas City
A
92.2
8K 11 Health Unresolved
65 Jonesville
A
92.2
2K 5 Unresolved
66 Roseville
A
92
47K 6
67 Ionia
A
92
13K 9 Health Unresolved
68 Walled Lake
A
91.9
5K 3 Unresolved
69 Clyde
A
91.9
2K 2 Unresolved
70 Elkton
A
91.9
808 15 Health Unresolved
71 Burton
A
91.8
21K 20 Health Unresolved
72 Parma
A
91.8
768 3 Unresolved
73 Mcbain
A
91.8
640 38 Unresolved
74 Unionville
A
91.8
508 6 Health Unresolved
75 Macomb
A
91.7
90K 6 Unresolved
76 Port Hope
A
91.7
1K 14 Health Unresolved
77 Baroda
A
91.7
910 5 Unresolved
78 Newport
A
91.6
10K 3 Unresolved
79 Roosevelt Park
A
91.6
4K 3 Unresolved
80 Menomonie
A
91.5
700 4 Health Unresolved
81 Ira
A
91.4
7K 2 Unresolved
82 Munising
A
91.4
3K 14 Health Unresolved
83 Fort Gratiot
A
91.3
12K 7 Health Unresolved
84 Decatur
A
91.3
2K 6 Health Unresolved
85 St Joseph
A
91.2
27K 8 Health Unresolved
86 Norton Shores
A
91.2
24K 3 Unresolved
87 Flat Rock
A
91.2
11K 4 Health
88 Pinckney
A
91.2
2K 4 Health Unresolved
89 Quinnesec
A
91.2
1K 12 Health Unresolved
90 Memphis
A
91.2
1K 5 Unresolved
91 Norway
A
91.1
3K 7 Health Unresolved
92 Davison
A
91
5K 2 Unresolved
93 North Branch
A
91
1K 2 Unresolved
94 Reading
A
90.9
1K 6 Health Unresolved
95 Twin Lake
A
90.9
755 8 Health Unresolved
96 Washington
A
90.8
16K 16 Unresolved
97 Grosse Pointe Shores
A
90.7
3K 15 Health Unresolved
98 Cadillac
A
90.6
11K 17 Health Unresolved
99 Wakefield
A
90.6
2K 8 Unresolved
100 Canton
A
90.5
100K 7 Health Unresolved
101 Eastpointe
A
90.5
32K 7 Unresolved
102 Rochester
A
90.5
13K 14 Health Unresolved
103 Farmington
A
90.5
12K 14 Health Unresolved
104 South Rockwood
A
90.5
2K 4 Health Unresolved
105 Dover
A
90.5
600 61 Health Unresolved
106 Ashley
A
90.5
526 18 Health Unresolved
107 Grosse Pointe
A
90.4
5K 7 Unresolved
108 Climax
A
90.4
965 10 Health Unresolved
109 Blissfield
A
90.2
3K 31 Health Unresolved
110 Corunna
A
90.2
2K 2 Unresolved
111 Linwood
A
90.2
909 12 Health Unresolved
112 Gobles
A
90.2
725 4 Unresolved
113 St. Clair Shores
A
90.1
60K 12 Health Unresolved
114 Bingham Farms
A
90.1
888 3 Unresolved
115 Huntington Woods
A
90
6K 5 Unresolved
116 Potterville
A
90
3K 12 Unresolved
117 Escanaba
A-
89.9
13K 4 Unresolved
118 Ovid
A-
89.9
2K 14 Health Unresolved
119 Brown City
A-
89.8
1K 8 Health Unresolved
120 Bronson
A-
89.7
2K 2 Unresolved
121 Stanton
A-
89.7
1K 13 Unresolved
122 East Kingsford
A-
89.6
1K 2 Health Unresolved
123 Cass City
A-
89.5
2K 14 Health Unresolved
124 Centreville
A-
89.4
3K 23 Health Unresolved
125 East Jordan
A-
89.4
2K 35 Health Unresolved
126 Central Lake
A-
89.4
952 47 Health Unresolved
127 Lake Orion
A-
89.3
36K 14 Unresolved
128 Mount Morris
A-
89.3
3K 7 Health Unresolved
129 Manchester
A-
89.3
2K 4 Health Unresolved
130 Olivet
A-
89.3
2K 5 Unresolved
131 Melvindale
A-
89.2
13K 10 Health Unresolved
132 Manistee
A-
89.2
10K 35 Health Unresolved
133 Coleman
A-
89.2
1K 8 Health Unresolved
134 Carleton
A-
89.1
6K 3 Unresolved
135 Montague
A-
89.1
3K 5 Unresolved
136 Grayling
A-
89.1
2K 4 Health Unresolved
137 Schoolcraft
A-
89.1
2K 20 Health Unresolved
138 Durand
A-
89
4K 36 Health Unresolved
139 Homosassa Springs
A-
89
900 9 Health Unresolved
140 Ramsay
A-
89
551 10 Health Unresolved
141 Brownstown Twp
A-
88.9
33K 1 Unresolved
142 New Boston
A-
88.9
16K 1 Unresolved
143 Fraser
A-
88.9
14K 14 Unresolved
144 Gibraltar
A-
88.9
5K 8 Health Unresolved
145 Concord
A-
88.9
1K 14 Health Unresolved
146 Sarasota
A-
88.8
4K 4 Unresolved
147 Harbor Beach
A-
88.8
2K 11 Health Unresolved
148 Union City
A-
88.7
2K 4 Health Unresolved
149 Plymouth
A-
88.6
37K 10 Unresolved
150 Swartz Creek
A-
88.6
6K 14 Health Unresolved
151 Athens
A-
88.6
956 10 Health Unresolved
152 Manistique
A-
88.5
3K 10 Health Unresolved
153 Highland Park
A-
88.4
9K 13 Health Unresolved
154 White Pigeon
A-
88.4
2K 10 Health Unresolved
155 Farwell
A-
88.4
942 23 Health Unresolved
156 Grand Ledge
A-
88.3
9K 7 Health Unresolved
157 Kingsford
A-
88.3
5K 9 Health Unresolved
158 Morenci
A-
88.3
2K 13 Health Unresolved
159 Trenton
A-
88.2
19K 7 Health Unresolved
160 Genesee
A-
88.2
8K 3 Unresolved
161 Sylvan Lake
A-
88.2
2K 16 Unresolved
162 Saranac
A-
88.2
1K 10 Health Unresolved
163 Northport
A-
88.2
766 17 Health Unresolved
164 Charlotte
A-
88.1
9K 5 Unresolved
165 Ludington
A-
88.1
9K 12 Unresolved
166 Kalkaska
A-
88.1
2K 3 Unresolved
167 Britton
A-
88.1
611 12 Health Unresolved
168 Vassar
A-
88
3K 4 Health Unresolved
169 Mayville
A-
88
950 17 Health Unresolved
170 Ravenna
A-
87.8
1K 10 Unresolved
171 New Lothrop
A-
87.8
610 10 Health Unresolved
172 Chesterfield Township
A-
87.6
42K 6 Unresolved
173 Berkley
A-
87.6
15K 2 Unresolved
174 Marshall
A-
87.6
7K 4 Unresolved
175 Lathrup Village
A-
87.6
4K 8 Unresolved
176 Shelbyville
A-
87.6
540 73 Health Unresolved
177 Sanford
A-
87.5
11K 10 Health Unresolved
178 Fowler
A-
87.5
1K 8 Health Unresolved
179 Haines City
A-
87.5
600 29 Health Unresolved
180 Allendale
A-
87.4
20K 1 Unresolved
181 Cottrellville
A-
87.4
3K 4 Unresolved
182 Reed City
A-
87.4
2K 5 Unresolved
183 Deckerville
A-
87.4
2K 8 Unresolved
184 Westphalia
A-
87.4
925 6 Unresolved
185 Metamora
A-
87.4
565 7 Unresolved
186 Marlette
A-
87.3
2K 65 Health Unresolved
187 Wolverine Lake
A-
87.3
1K 12 Health Unresolved
188 Oak Park
A-
87.2
30K 1 Unresolved
189 Grandville
A-
87.2
16K 5 Unresolved
190 Whittaker
A-
87.2
4K 4 Unresolved
191 Port Austin
A-
87.2
1K 20 Health Unresolved
192 Beverly Hills
A-
87.1
10K 6 Unresolved
193 Byron
A-
86.9
581 13 Health Unresolved
194 Grawn
A-
86.8
3K 2 Unresolved
195 Lawton
A-
86.8
2K 15 Health Unresolved
196 Elk Rapids
A-
86.8
2K 19 Health Unresolved
197 Forestville
A-
86.8
836 3 Unresolved
198 Camden
A-
86.8
512 7 Unresolved
199 Grosse Pointe Farms
A-
86.7
10K 24 Health Unresolved
200 Gwinn
A-
86.7
6K 35 Health Unresolved
201 Hancock
A-
86.7
5K 20 Health Unresolved
202 Jamestown
A-
86.7
3K 2 Unresolved
203 Harrison
A-
86.7
1K 7 Health Unresolved
204 Scottville
A-
86.6
2K 12 Health Unresolved
205 O Fallon
A-
86.6
580 2 Unresolved
206 Milan
A-
86.5
7K 12 Unresolved
207 Armada
A-
86.5
2K 7 Health Unresolved
208 Jenison
A-
86.4
41K 1 Unresolved
209 Paw Paw
A-
86.4
3K 15 Health Unresolved
210 St. Ignace
A-
86.4
3K 8 Health Unresolved
211 Augusta
A-
86.4
885 9 Unresolved
212 Harbert
A-
86.3
3K 33 Health Unresolved
213 Grand Haven
A-
86.2
25K 6 Health PFAS Unresolved
214 Auburn
A-
86.2
2K 8 Unresolved
215 Dearborn
A-
86.1
110K 2 Unresolved
216 Rochester Hills
A-
86.1
74K 17 Unresolved
217 Dundee
A-
86.1
5K 8 Health PFAS Unresolved
218 Springport
A-
86.1
800 10 Unresolved
219 Barnegat Twp.-1533
A-
86
1K 101 Health Unresolved
220 Alma
A-
85.9
9K 1 Unresolved
221 Port Sanilac
A-
85.8
1K 15 Health Unresolved
222 Port Huron
A-
85.7
44K 10 Unresolved
223 Three Oaks
A-
85.7
2K 9 Health Unresolved
224 Kawkawlin
A-
85.7
1K 1 Unresolved
225 Waldron
A-
85.7
538 5 Unresolved
226 Martin
A-
85.6
785 9 Unresolved
227 Southgate
A-
85.5
30K 4 Unresolved
228 St. Louis
A-
85.5
7K 4 Health Unresolved
229 Versailles
A-
85.5
2K 77 Health Unresolved
230 Versailles
A-
85.5
2K 77 Health Unresolved
231 Onaway
A-
85.5
880 17 Unresolved
232 Hillsdale
A-
85.4
9K 15 Health Unresolved
233 Gladstone
A-
85.4
5K 12 Health PFAS
234 East Tawas
A-
85.3
3K 4 Unresolved
235 Hillman
A-
85.3
697 21 Health Unresolved
236 Saginaw
A-
85.2
122K 26 Health Unresolved
237 Chassell
A-
85.2
800 9 Unresolved
238 Wayland
A-
85.1
5K 14 Health Unresolved
239 Essexville
A-
85.1
3K 1 Health Unresolved
240 Roscommon
A-
85.1
1K 21 Health Unresolved
241 Tampa
A-
85.1
590 49 Health Unresolved
242 Caro
A-
85
5K 11 Health Unresolved
243 West Branch
A-
85
2K 13 Health Unresolved
244 L'Anse
A-
85
2K 12 Health Unresolved
245 Petersburg
B+
84.9
1K 18 Health Unresolved
246 Pentwater
B+
84.9
857 13 Health Unresolved
247 Jasper
B+
84.9
717 2 Unresolved
248 Coopersville
B+
84.8
5K 6 Unresolved
249 St. Charles
B+
84.8
4K 11 Unresolved
250 Clio
B+
84.8
3K 28 Unresolved
251 Grant
B+
84.8
959 20 Unresolved
252 Ubly
B+
84.8
858 12 Health Unresolved
253 Marine City
B+
84.7
5K 6 Health Unresolved
254 Beaverton
B+
84.7
1K 35 Unresolved
255 Lakeview
B+
84.7
1K 1 Unresolved
256 Mamakating (T)
B+
84.7
900 11 Unresolved
257 Clinton Township
B+
84.6
101K 67 Health Unresolved
258 Big Rapids
B+
84.6
11K 16 Health Unresolved
259 Ferrysburg
B+
84.6
3K 1 Unresolved
260 Mattawan
B+
84.6
3K 17 Health Unresolved
261 South Range
B+
84.6
745 10 Unresolved
262 Buchanan
B+
84.5
5K 21 Health Unresolved
263 Hemlock
B+
84.5
2K 4 Health Unresolved
264 Fremont
B+
84.4
5K 12 Health PFAS Unresolved
265 Covert
B+
84.4
2K 2 Unresolved
266 Benzonia
B+
84.4
591 19 Health Unresolved
267 Allegan
B+
84.3
6K 38 Health Unresolved
268 Westland
B+
84.3
1K 10 Health Unresolved
269 Romulus
B+
84.2
24K 10 Unresolved
270 Mount Clemens
B+
84.2
16K 33 Health Unresolved
271 Center Line
B+
84.2
8K 11 Unresolved
272 Mackinac Island
B+
84.2
583 8 Unresolved
273 Detroit
B+
84.1
633K 13 Health Unresolved
274 Iron Mountain
B+
84.1
8K 43 Health Unresolved
275 Montrose
B+
84.1
2K 23 Unresolved
276 Webberville
B+
84.1
2K 15 Health Unresolved
277 Saline
B+
84
9K 12 Unresolved
278 Mason
B+
84
9K 17 Health Unresolved
279 Justice
B+
84
2K 22 Unresolved
280 Sheridan
B+
84
649 6 Unresolved
281 Ironwood
B+
83.9
6K 10 Health Unresolved
282 Vermontville
B+
83.9
780 25 Unresolved
283 Alton
B+
83.9
720 9 Unresolved
284 Calumet
B+
83.8
9K 6 Health Unresolved
285 Sparta
B+
83.8
4K 20 Health Unresolved
286 Sebewaing
B+
83.8
2K 8 Health Unresolved
287 Bellevue
B+
83.8
1K 22 Health Unresolved
288 New Buffalo
B+
83.7
5K 4 Unresolved
289 Galesburg
B+
83.7
2K 14 Health Unresolved
290 Mancelona
B+
83.6
4K 62 Health Unresolved
291 Pigeon
B+
83.6
1K 7 Health Unresolved
292 Dollar Bay
B+
83.5
1K 11 Health Unresolved
293 Elsie
B+
83.4
966 15 Health Unresolved
294 Grand Island
B+
83.3
751 11 Health Unresolved
295 Lincoln Park
B+
83.2
38K 11 Unresolved
296 Allen Park
B+
83.2
28K 26 Health Unresolved
297 Hartford
B+
83.2
3K 22 Health Unresolved
298 Watersmeet
B+
83.2
2K 65 Health Unresolved
299 Onsted
B+
83.2
907 8 Unresolved
300 Grosse Pointe Park
B+
83.1
12K 24 Health Unresolved
301 Croswell
B+
83.1
2K 11 Health Unresolved
302 Ecorse
B+
83
10K 10 Unresolved
303 Columbiaville
B+
83
787 10 Unresolved
304 Utica
B+
82.9
5K 3 Unresolved
305 Frankfort
B+
82.9
1K 14 Unresolved
306 Muskegon Heights
B+
82.8
10K 19 Health Unresolved
307 Charlevoix
B+
82.8
5K 50 Health Unresolved
308 Lake Odessa
B+
82.8
2K 11 Health Unresolved
309 Painesdale
B+
82.8
2K 3 Unresolved
310 Grass Lake
B+
82.8
2K 4 Unresolved
311 Lawrence
B+
82.8
1K 14 Health Unresolved
312 Three Rivers
B+
82.7
8K 30 Health Unresolved
313 North Muskegon
B+
82.7
4K 3 Unresolved
314 Perry
B+
82.7
2K 1 Unresolved
315 Baldwin
B+
82.7
1K 12 Health Unresolved
316 Hudson
B+
82.6
3K 11 Health Unresolved
317 Spring Lake
B+
82.5
12K 8 Health PFAS Unresolved
318 Iron River
B+
82.5
5K 57 Health Unresolved
319 Clarkston
B+
82.4
14K 27 Health PFAS Unresolved
320 Mackinaw City
B+
82.4
982 20 Unresolved
321 Wyandotte
B+
82.2
26K 1 Unresolved
322 Fruitport
B+
82.2
9K 4 Unresolved
323 Edmore
B+
82.2
1K 8 Unresolved
324 Au Gres
B+
82.2
1K 3 Health Unresolved
325 Hudsonville
B+
82.1
8K 17 Unresolved
326 Mendon
B+
82.1
920 19 Health Unresolved
327 Northville
B+
81.8
38K 16 Health Unresolved
328 Chesaning
B+
81.7
3K 17 Health Unresolved
329 Madison Heights
B+
81.6
30K 7 Lead Unresolved
330 Gaylord
B+
81.5
4K 87 Health Unresolved
331 Portage
B+
81.4
46K 44 Health Unresolved
332 Marion
B+
81.4
800 8 Health Unresolved
333 Midland
B+
81.3
50K 47 Health Unresolved
334 Saugatuck
B+
81.3
5K 26 Health Unresolved
335 Auburn Hills
B+
81.2
23K 12 Health Unresolved
336 East Grand Rapids
B+
81.2
12K 2 Unresolved
337 Burtchville Township
B+
81.2
3K 8 Unresolved
338 Capac
B+
81.1
2K 46 Health Unresolved
339 Edwardsburg
B+
81
2K 29 Health Unresolved
340 Carson City
B+
80.8
3K 10 Health Unresolved
341 Fennville
B+
80.8
3K 18 Health Unresolved
342 Hart
B+
80.8
2K 6 Unresolved
343 White Cloud
B+
80.6
1K 10 Unresolved
344 Kimball
B+
80.5
6K 27 Unresolved
345 Ypsilanti
B+
80.4
61K 14 Health Unresolved
346 Whitehall
B+
80.4
3K 14 Health Unresolved
347 Pleasant Ridge
B+
80.4
3K 6 Unresolved
348 St. Clair
B+
80.3
5K 15 Health Unresolved
349 Suttons Bay
B+
80.2
10K 73 Health Unresolved
350 Mount Pleasant
B+
80.2
10K 36 Health Unresolved
351 Glen Arbor
B+
80.1
1K 61 Health Unresolved
352 Clawson
B+
80
12K 8 Unresolved
353 Redford
B
79.9
50K 6 Health Unresolved
354 Interlochen
B
79.7
750 1 Unresolved
355 Maple Rapids
B
79.7
643 32 Health Unresolved
356 Watervliet
B
79.6
3K 44 Health Unresolved
357 Constantine
B
79.6
2K 104 Health Unresolved
358 New Haven
B
79.5
6K 17 Health Unresolved
359 Borculo
B
79.5
544 6 Unresolved
360 New Hudson
B
79.4
9K 31 Health Unresolved
361 Garden City
B
79.3
28K 4 Unresolved
362 Marcellus
B
79.3
1K 2 Unresolved
363 Mamakating (T)
B
79.3
900 68 Health Unresolved
364 Coloma
B
79.2
3K 110 Health Unresolved
365 Stockbridge
B
79.2
1K 12 Unresolved
366 Bangor
B
79.1
2K 15 Unresolved
367 Manhattan
B
79.1
1K 32 Health Unresolved
368 Kentwood
B
79
36K 10 Health Unresolved
369 Marysville
B
79
10K 80 Health Unresolved
370 Ishpeming
B
78.9
9K 34 Health Unresolved
371 Nashville
B
78.9
2K 13 Health Unresolved
372 Colon
B
78.8
1K 28 Unresolved
373 Lowell
B
78.7
6K 57 Health Unresolved
374 Royal Oak
B
78.6
58K 45 Health Unresolved
375 Crystal Falls
B
78.5
3K 32 Health Unresolved
376 Cassopolis
B
78.4
2K 61 Health Unresolved
377 Bessemer
B
78.4
2K 12 Health Unresolved
378 West Olive
B
78.3
647 3 Unresolved
379 Ferndale
B
78.1
22K 14 Health Unresolved
380 Springfield
B
78.1
4K 11 Health Unresolved
381 South Lyon
B
78
12K 11 Health Unresolved
382 Boyne City
B
77.9
4K 27 Health Unresolved
383 Newberry
B
77.7
4K 89 Health Unresolved
384 Ada
B
77.6
7K 45 Health Unresolved
385 Lexington
B
77.6
5K 31 Health Unresolved
386 Bancroft
B
77.4
616 22 Health Unresolved
387 Caseville
B
77
3K 8 Health Unresolved
388 Muskegon
B
76.7
40K 57 Health Unresolved
389 Grosse Pointe Woods
B
76.5
16K 1 Unresolved
390 Buckley
B
76.4
529 31 Health Unresolved
391 Harper Woods
B
76.2
14K 9 Health Unresolved
392 Cheboygan
B
76.2
6K 19 Health Unresolved
393 Chelsea
B
76.1
6K 19 Health Unresolved
394 Oxford
B
76.1
4K 45 Health Unresolved
395 Waterford
B
76
99K 24 Health Unresolved
396 Greenville
B
75.9
9K 33 Health Unresolved
397 Bellaire
B
75.9
3K 45 Health Unresolved
398 Brooklyn
B
75.9
1K 28 Health Unresolved
399 Thompsonville
B
75.9
1K 51 Health Unresolved
400 Homosassa Springs
B
75.9
900 50 Health Unresolved
401 St. Johns
B
75.8
8K 28 Unresolved
402 Manton
B
75.8
1K 44 Health Unresolved
403 Caspian
B
75.7
2K 38 Health Unresolved
404 Albion
B
75.6
10K 24 Health Unresolved
405 Brimley
B
75.6
2K 112 Health Unresolved
406 Bay City
B
75.5
90K 39 Health Unresolved
407 Leslie
B
75.4
2K 17 Health Unresolved
408 Dover
B
75.4
688 149 Health Unresolved
409 Inkster
B
75
25K 10 Lead Unresolved
410 Tucson
B-
74.9
960 187 Health Unresolved
411 East Moline
B-
74.8
503 8 Health Unresolved
412 Otsego
B-
74.4
5K 10 Health Unresolved
413 White Lake
B-
74.2
6K 32 Health Unresolved
414 Hastings
B-
74.1
8K 34 Health Unresolved
415 Wayne
B-
73.3
18K 14 Unresolved
416 Caledonia
B-
73.3
5K 29 Health Unresolved
417 Yale
B-
73.3
2K 44 Health Unresolved
418 Kingsley
B-
73.3
2K 76 Health Unresolved
419 Okemos
B-
73.1
26K 40 Health Unresolved
420 Michigan Center
B-
73.1
3K 8 Lead Unresolved
421 Hesperia
B-
73.1
1K 22 Health Unresolved
422 Newaygo
B-
73
3K 22 Health Unresolved
423 Eaton Rapids
B-
72.9
5K 53 Health Unresolved
424 Burr Oak
B-
72.8
828 77 Unresolved
425 Grosse Ile
B-
72.6
10K 6 Health Lead Unresolved
426 Troy
B-
72.5
87K 60 Health Unresolved
427 Homer
B-
72.2
2K 24 Health Unresolved
428 Holland
B-
72.1
80K 35 Health Unresolved
429 Belding
B-
72.1
6K 27 Health Unresolved
430 South Haven
B-
71.7
10K 70 Health Unresolved
431 Middleville
B-
71.7
4K 50 Health Unresolved
432 Vicksburg
B-
71.5
4K 27 Health Lead Unresolved
433 River Rouge
B-
71.4
7K 13 Health Unresolved
434 Petoskey
B-
71.3
11K 90 Health Unresolved
435 Houghton
B-
71.2
10K 49 Health Unresolved
436 Plainwell
B-
70.4
6K 59 Health Unresolved
437 Hamtramck
B-
70.3
22K 15 Health Unresolved
438 Sault Ste. Marie
B-
70.3
15K 54 Health Unresolved
439 Grand Rapids
B-
70.2
316K 28 Health Unresolved
440 Shepherd
B-
70.2
2K 30 Health Unresolved
441 Lake Linden
B-
70.1
1K 15 Health Unresolved
442 Baraga
B-
70
4K 142 Health Unresolved
443 Addison
C+
69.8
605 21 Health Unresolved
444 Portland
C+
69.2
4K 18 Health Unresolved
445 Warsaw
C+
69.1
500 227 Health Unresolved
446 Dearborn Heights
C+
68.9
58K 17 Health Unresolved
447 Lake City
C+
68.7
836 67 Unresolved
448 Negaunee
C+
68.5
6K 71 Health Unresolved
449 Richmond
C+
67.5
6K 49 Health Unresolved
450 Lyons
C+
67.1
789 44 Health Unresolved
451 Evart
C+
66.9
2K 32 Health Unresolved
452 Owosso
C+
65.5
17K 34 Health Unresolved
453 Berrien Springs
C+
65.5
7K 47 Health Unresolved
454 Boyne Falls
C+
65.3
2K 22 Health Lead Unresolved
455 Harrisville
C+
65.3
532 63 Health Unresolved
456 Davenport
C+
65.2
600 68 Health Unresolved
457 Sebring
C
64.3
2K 48 Health Unresolved
458 Ithaca
C
63.5
3K 22 Health Unresolved
459 Clinton
C
62.8
2K 311 Health Unresolved
460 Mt Pleasant
C
62.3
14K 33 Lead Unresolved
461 Rockford
C
62.1
13K 62 Health Unresolved
462 Monroe
C
61.5
100K 66 Health Unresolved
463 Novi
C
61.5
61K 32 Health Unresolved
464 Deerfield
C
61.2
943 131 Health Unresolved
465 Niles
C
60.8
17K 62 Health Unresolved
466 Taylor
C
60.6
63K 16 Health Lead Unresolved
467 Eau Claire
C
60.3
610 13 Health Lead Unresolved
468 Cedar Springs
C-
59.9
4K 146 Health Unresolved
469 Holt
C-
59.9
1K 5 Health Lead Unresolved
470 Flushing
C-
59.3
9K 29 Health Unresolved
471 Gladwin
C-
58.4
4K 66 Health Unresolved
472 Standish
C-
58.2
2K 60 Health Unresolved
473 Lansing
C-
57.3
194K 127 Health Unresolved
474 Alpena
C-
56.5
16K 71 Health Unresolved
475 Holly
C-
56.2
9K 38 Health Unresolved
476 Dowagiac
C-
55.4
8K 115 Health Unresolved
477 Indiantown
D+
53.9
750 153 Health PFAS Unresolved
478 Traverse City
D+
53.2
36K 116 Health Unresolved
479 Otisville
D+
52.6
864 88 Health Unresolved
480 Ann Arbor
D+
51.5
279K 94 Health Unresolved
481 Benton Harbor
D+
50.5
16K 228 Health Unresolved
482 Frostproof
D+
50
2K 79 Health Unresolved
483 Ruskin
D+
50
1K 533 Health Unresolved
484 Fenton
D
49.2
13K 61 Health Unresolved
485 Jackson
D
48.7
88K 106 Health Unresolved
486 Oscoda
D
47.9
9K 38 Health Unresolved
487 Keego Harbor
D
47.8
553 80 Health Unresolved
488 Milford
D
47.4
10K 301 Health Unresolved
489 Shelby Township
D
47
72K 107 Health Unresolved
490 Fowlerville
D
47
4K 184 Health Unresolved
491 Quincy
D
47
2K 125 Health Unresolved
492 Whitmore Lake
D
47
1K 73 Health Unresolved
493 Mt Clemens
D
47
596 138 Health Unresolved
494 Belleville
D
46.5
14K 45 Health Unresolved
495 Linden
D
46.2
4K 147 Health Unresolved
496 Harbor Springs
D
46
7K 323 Health Unresolved
497 Flint
D
45.8
165K 138 Health Unresolved
498 Freeland
F
44.5
10K 210 Health Unresolved
499 Bloomfield Hills
F
44.5
7K 132 Health Unresolved
500 Howell
F
44
12K 62 Health Unresolved
501 Coldwater
F
43.6
14K 143 Health Unresolved
502 Lapeer
F
43.5
9K 145 Health Unresolved
503 Battle Creek
F
42.2
51K 58 Health Unresolved
504 Southfield
F
41.2
91K 227 Health Unresolved
505 Farmington Hills
F
41
81K 916 Health Unresolved
506 West Bloomfield
F
41
52K 248 Health Unresolved
507 Adrian
F
40.5
28K 100 Health Unresolved
508 East Lansing
F
39.3
46K 82 Health Unresolved
509 Birmingham
F
39
22K 239 Health Unresolved
510 Brighton
F
38.8
37K 149 Health Unresolved
511 Marquette
F
36
23K 158 Health Lead Unresolved
512 Kalamazoo
F
35
194K 175 Health PFAS Unresolved
513 Grand Blanc
F
28.2
30K 130 Health Lead Unresolved