WaterVerge

Arizona Water Quality Rankings

292 cities ranked · Data from EPA SDWIS

67.5
State avg score
292
Cities ranked
51%
A or B grade
41%
D or F grade
241
Health violations
108
PFAS detected

Arizona water quality overview

Arizona's drinking water quality is fair overall, with a state average score of 67.5 out of 100 — 6.7 points below the national average of 74.2. The median city score is 71.2, reflecting how water quality is distributed across the state's 292 ranked cities. 41% of cities scored a D or F, pointing to significant water quality challenges across much of the state. 149 cities did earn an A or B grade, showing that strong systems do exist. PFAS "forever chemicals" were detected in 108 of 292 cities (37%). Of those, 18 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 3 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. 241 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 Arizona cities scored

29%
22%
8%
26%
14%
A
86
29%
Excellent
B
63
22%
Good
C
24
8%
Fair
D
77
26%
Poor
F
42
14%
Failing

Score distribution by range

83 42 0
1
10
83
35
14
33
55
61
0–9
10–19
20–29
30–39
40–49
50–59
60–69
70–79
80–89
90–100

State vs national average

C+
Arizona
67.5/100
B-
National avg
74.2/100
▼ 6.7 pts below national average

Water quality across Arizona

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

All 292 cities in Arizona

# City Grade Score Score Population Violations Issues
1 Oracle
A+
95
11K 15 Health Unresolved
2 Brunswick
A
94.5
1K 6 Unresolved
3 Cove
A
94.5
728 41 Unresolved
4 Sr Boarding School, Sr Subdivision, Palo
A
94.3
2K 44 Health Unresolved
5 Munds Park
A
94.2
8K 47 Health Unresolved
6 Narbona Pass, Sheep Springs
A
94.2
862 47 Unresolved
7 Narbona Pass, Sheep Springs
A
94.2
862 47 Unresolved
8 Sells, Big Fields
A
93.8
4K 40 Health Unresolved
9 South Komelic, Choulic, Cold Fields, Top
A
93.7
1K 15 Health Unresolved
10 Rock Springs
A
93.5
2K 41 Unresolved
11 Rock Springs
A
93.5
2K 41 Unresolved
12 Hard Rock, Dinnebeto, Rocky Ridge
A
93.2
982 63 Health Unresolved
13 Tsa Yah Toh
A
93
865 66 Unresolved
14 Tsa Yah Toh
A
93
865 66 Unresolved
15 Newcomb
A
92.9
602 32 Unresolved
16 Newcomb
A
92.9
602 32 Unresolved
17 Crownpoint, Littlewater, Three Mile Poin
A
92.8
4K 70 Health Unresolved
18 Crownpoint, Littlewater, Three Mile Poin
A
92.8
4K 70 Health Unresolved
19 Silverbell
A
92.8
3K 39 Unresolved
20 Klagetoh, South Ganado, Wide Ruins
A
92.6
971 70 Health Unresolved
21 Sanostee, Tocito, Littlewater, Mittenroc
A
92.5
2K 80 Unresolved
22 Sanostee, Tocito, Littlewater, Mittenroc
A
92.5
2K 80 Unresolved
23 Torreon/Ojo Encino, New Mexico
A
92.5
2K 13 Health Unresolved
24 Torreon/Ojo Encino, New Mexico
A
92.5
2K 13 Health Unresolved
25 Oljeto
A
92.4
1K 34 Health Unresolved
26 Oljeto
A
92.4
1K 34 Health Unresolved
27 Tuba City
A
92.3
6K 57 Health Unresolved
28 Gap/Cedar Ridge/Bittersprings,Arizona
A
92.2
1K 86 Unresolved
29 Red Rock (South Of Gallup)
A
92
2K 38 Health Unresolved
30 Red Rock (South Of Gallup)
A
92
2K 38 Health Unresolved
31 Thoreau West Rural
A
92
2K 41 Health Unresolved
32 Thoreau West Rural
A
92
2K 41 Health Unresolved
33 Cottonwood, Tselani
A
92
1K 37 Health Unresolved
34 Huerfano
A
92
1K 70 Unresolved
35 Huerfano
A
92
1K 70 Unresolved
36 Leupp, Birdsprings, Tolani Lake
A
91.9
2K 25 Health Unresolved
37 Casamero Lake, Borrego Pass, Smith Lake
A
91.9
906 86 Health Unresolved
38 Casamero Lake, Borrego Pass, Smith Lake
A
91.9
906 86 Health Unresolved
39 Naschitti, Bisola
A
91.7
1K 91 Unresolved
40 Naschitti, Bisola
A
91.7
1K 91 Unresolved
41 Coyote Canyon, Brimhall, Bass Lake
A
91.7
622 51 Unresolved
42 Coyote Canyon, Brimhall, Bass Lake
A
91.7
622 51 Unresolved
43 Upper Cov Wells, Lower Cov Wells, Sikul
A
91.7
538 16 Health Unresolved
44 Tohatchi, Mexican Springs
A
91.6
2K 42 Health Unresolved
45 Tohatchi, Mexican Springs
A
91.6
2K 42 Health Unresolved
46 Le Chee
A
91.6
1K 77 Health Unresolved
47 Pinon, South Pinon, Burnt Corn, Blue Gap
A
91.5
5K 38 Unresolved
48 Shonto Junction
A
91.4
1K 36 Health Unresolved
49 Jeddito
A
91.4
1K 69 Health Unresolved
50 New Lands (Sanders)
A
91.3
2K 86 Health Unresolved
51 Bread Springs, Chichiltah
A
91.2
2K 56 Health Unresolved
52 Bread Springs, Chichiltah
A
91.2
2K 56 Health Unresolved
53 Iyanbito
A
91.2
797 97 Unresolved
54 Iyanbito
A
91.2
797 97 Unresolved
55 Tsaile, Dine College
A
91.1
1K 99 Health Unresolved
56 Twin Lakes, Toh-La-Kai, Black Springs Wa
A
90.9
2K 48 Health Unresolved
57 Twin Lakes, Toh-La-Kai, Black Springs Wa
A
90.9
2K 48 Health Unresolved
58 Inscription House, Broad Mesa West, Dry
A
90.9
1K 10 Health Unresolved
59 Gallup, West Of
A
90.8
2K 46 Unresolved
60 Gallup, West Of
A
90.8
2K 46 Unresolved
61 Nageezi
A
90.3
763 75 Health Unresolved
62 Carefree
A-
89.8
4K 36 Unresolved
63 Ojo Encino, North Of
A-
89.7
1K 74 Unresolved
64 Ojo Encino, North Of
A-
89.7
1K 74 Unresolved
65 Gisela
A-
89.3
508 85 Health Unresolved
66 Standing Rock
A-
89.1
739 77 Unresolved
67 Standing Rock
A-
89.1
739 77 Unresolved
68 San Manuel
A-
88.7
5K 30 Health Unresolved
69 Houck, Querino Canyon
A-
88.7
1K 15 Health Unresolved
70 Fruitland Park
A-
88.3
1K 10 Unresolved
71 Lukachukai
A-
88.1
2K 35 Health Unresolved
72 Crystal, Yazzie Springs, Crystal Junctio
A-
88.1
715 43 Unresolved
73 Crystal, Yazzie Springs, Crystal Junctio
A-
88.1
715 43 Unresolved
74 San Xavier West
A-
87.9
2K 46 Health Unresolved
75 Kykotsmovi
A-
87.6
1K 41 Health Unresolved
76 Vaya Chin, Hickiwan, San Simon Village/S
A-
87.5
1K 12 Health Unresolved
77 Spring Valley
A-
87.1
1K 135 Health Unresolved
78 Wilhoit
A-
87.1
880 37 Health Unresolved
79 Tuba City Bia Boarding School
A-
86.4
2K 29 Health Unresolved
80 Clints Well
A-
85.8
2K 77 Health Unresolved
81 Humboldt
A-
85.7
825 144 Health Unresolved
82 Seligman
A-
85.7
728 156 Unresolved
83 Sawmill (East And South), Upper Buell Pa
A-
85.6
838 17 Unresolved
84 Ak-Chin Village
A-
85.5
12K 43 Health Unresolved
85 Casa Blanca,Bapchule,Wet Camp,Sacate,Wes
A-
85.1
3K 50 Health Unresolved
86 Ganado, Cornfield, Steamboat, Woodspring
B+
85
4K 79 Health Unresolved
87 Bagdad
A-
85
3K 89 Health Unresolved
88 Patton Place Estates
B+
84.8
638 49 Unresolved
89 Mariano Lake, Pinedale, Churchrock
B+
84.5
5K 35 Health Unresolved
90 Mariano Lake, Pinedale, Churchrock
B+
84.5
5K 35 Health Unresolved
91 Pinon
B+
84.4
500 21 Unresolved
92 Shonto
B+
84.3
1K 110 Unresolved
93 White Tanks
B+
84.2
19K 19 Health Unresolved
94 Upper Fruitland, Nenahnezad, San Juan, N
B+
84.2
15K 33 Health Unresolved
95 Upper Fruitland, Nenahnezad, San Juan, N
B+
84.2
15K 33 Health Unresolved
96 Chinle, Many Farms, Del Muerto
B+
84
8K 151 Health Unresolved
97 Stotonic, Goodyear, Gila Butte, Sweetwat
B+
84
3K 55 Health Unresolved
98 Circle City
B+
83.4
815 56 Health Unresolved
99 Sunsites
B+
83.3
1K 34 Health Unresolved
100 Teec Nos Pos
B+
83.3
1K 114 Health Unresolved
101 Chilchinbeto
B+
83.2
1K 105 Unresolved
102 Sun City West
B+
82.9
26K 103 Health Unresolved
103 Alpine
B+
82.7
1K 49 Health Unresolved
104 Yarnell
B+
82.7
515 123 Health Unresolved
105 Dennehotso
B+
82.4
1K 111 Health Unresolved
106 Bacavi
B+
82.2
1K 52 Unresolved
107 Aguila
B+
81.9
987 113 Health Unresolved
108 Wildhorse Pass Casino, St. Johns Komatke
B+
81.8
23K 55 Health Unresolved
109 Cordes Lakes
B+
81.6
4K 89 Health Unresolved
110 Tolleson
B+
81.5
9K 112 Health Unresolved
111 Red Valley
B+
81.5
811 102 Health Unresolved
112 Sunrise Vistas
B+
81.2
2K 50 Health Unresolved
113 Clarkdale
B+
80.5
5K 100 Unresolved
114 Rio Verde
B+
80.5
5K 97 Health Unresolved
115 Tonalea, Red Lake
B+
80.5
1K 106 Health Unresolved
116 Lynwood
B+
80.2
994 12 Unresolved
117 Paulden
B
79.9
2K 138 Health Unresolved
118 Organ Pipe Nm
B
79.7
755 53 Health Unresolved
119 Ash Fork
B
79.6
2K 89 Health Unresolved
120 Ft. Wingate High School
B
79.6
900 70 Unresolved
121 Ft. Wingate High School
B
79.6
900 70 Unresolved
122 Congress
B
79.5
2K 119 Health Unresolved
123 Pioneer
B
79.3
583 120 Health Unresolved
124 Lukachukai Community School New
B
78.7
500 8 Unresolved
125 Salt River Indian Community
B
78.4
21K 120 Health Unresolved
126 Anthem
B
78.1
24K 123 Health Unresolved
127 Sacaton, Sacaton Flats,Upper San Tan, Bl
B
78.1
5K 64 Health Unresolved
128 Peridot
B
78.1
2K 13 Health Unresolved
129 Miami
B
77.9
9K 194 Health Unresolved
130 Rough Rock
B
77.7
655 174 Health Unresolved
131 Kaibeto
B
77.4
2K 153 Unresolved
132 Ehrenberg
B
77.1
989 196 Health Unresolved
133 Sun City
B
76.8
38K 296 Health Unresolved
134 Keams Canyon
B
76.8
925 194 Health Unresolved
135 Nazlini
B
76
1K 179 Health Unresolved
136 Buckeye-Sono
B-
74.9
16K 114 Health Unresolved
137 Upper Moenkopi
B-
74.7
2K 312 Health Unresolved
138 White River
B-
74.1
622 284 Health Unresolved
139 Rock Point
B-
73.7
2K 129 Unresolved
140 Middle Verde
B-
73.3
2K 161 Health Unresolved
141 Bourden Ranch Estates
B-
73.1
1K 56 Health Unresolved
142 Fort Defiance, Window Rock, St. Michaels
B-
72.6
13K 157 Health Unresolved
143 Avra Valley
B-
72.4
1K 229 Health Unresolved
144 Centennial Park
B-
72.4
1K 202 Health Unresolved
145 Many Farms
B-
72
2K 144 Health Unresolved
146 Red Mesa
B-
72
1K 56 Health Unresolved
147 Dilcon, Indian Wells, Lower Greasewood,
B-
71.2
5K 102 Health Unresolved
148 Ajo
B-
70.6
5K 163 Unresolved
149 Cibecue
B-
70.5
3K 143 Health Unresolved
150 Joseph City
C+
69.7
2K 195 Unresolved
151 Lower Greasewood
C+
69.5
720 109 Health Unresolved
152 Kinlichee
C+
68.5
867 117 Health Unresolved
153 Sweetwater, Red Mesa
C+
68
2K 87 Health Unresolved
154 Dolan Springs
C+
67.3
2K 274 Health Unresolved
155 Avondale
C+
66
83K 218 Health PFAS Unresolved
156 Peach Springs
C+
65.7
5K 305 Health Unresolved
157 Patagonia
C+
65.6
842 177 Health Unresolved
158 Snowflake
C+
65.5
6K 193 Health Unresolved
159 Saint Johns
C+
65.5
4K 196 Health Unresolved
160 Eagar
C
64.7
5K 129 Health Unresolved
161 Rio Rico
C
62.1
18K 421 Health PFAS Unresolved
162 Topock
C
60.9
4K 315 Health Unresolved
163 Paradise Valley
C
60.8
15K 315 Health Unresolved
164 Naco
C-
59.8
733 112 Health Unresolved
165 Bellemont
C-
59.4
2K 86 Health Unresolved
166 Linden
C-
58.7
1K 250 Health Unresolved
167 Superior
C-
58.1
6K 401 Unresolved
168 Mammoth
C-
57.8
1K 102 Health Lead Unresolved
169 Cave Creek
C-
57.6
10K 311 Health Unresolved
170 Morenci
C-
57.6
4K 164 Health Unresolved
171 Rimrock
C-
57.5
4K 364 Health Unresolved
172 Adaman
C-
57.2
700 177 Health Unresolved
173 Fredonia
C-
55.1
1K 290 Health Unresolved
174 Aneth
D+
54.3
1K 131 Health Unresolved
175 Tempe
D+
53.8
165K 306 Health PFAS Unresolved
176 Red Rock
D+
53.5
4K 87 Health Unresolved
177 Supai
D+
53
885 413 Health Unresolved
178 Nageezi
D+
52.6
938 157 Health Unresolved
179 Quartzsite
D+
52.3
5K 460 Health Unresolved
180 Round Rock
D+
52.1
1K 387 Health Unresolved
181 Tonopah
D+
51.3
1K 343 Health Unresolved
182 Hotevilla, Hotevilla/Bacavi Community Sc
D+
51.1
2K 110 Health Unresolved
183 Three Points
D+
50.3
889 330 Health Unresolved
184 Chino Valley
D+
50
7K 830 Health Unresolved
185 Williams
D+
50
5K 266 Health Unresolved
186 Tusayan
D+
50
3K 659 Health Unresolved
187 Clifton
D+
50
3K 427 Health Unresolved
188 Wittmann
D+
50
3K 445 Health Unresolved
189 Mayer
D+
50
2K 712 Health Unresolved
190 Star Valley
D+
50
2K 628 Health Unresolved
191 Shungopavi
D+
50
2K 378 Health Unresolved
192 Lakeside
D+
50
2K 863 Health Unresolved
193 St David
D+
50
1K 313 Health Unresolved
194 Hopi High School
D+
50
1K 234 Health Unresolved
195 Pomerene
D+
50
1K 185 Health Unresolved
196 Oak Creek Canyon
D+
50
836 404 Health Unresolved
197 Coolidge
D+
50
769 724 Health Unresolved
198 Stanfield
D+
50
720 884 Health Unresolved
199 Oro Valley
D
49
47K 1930 Health Unresolved
200 Tombstone
D
49
2K 703 Health Unresolved
201 Red Mesa
D
49
2K 448 Health Unresolved
202 Grand Canyon
D
48.7
17K 277 Health Unresolved
203 Toadlena, Two Grey Hills
D
48.2
903 143 Health Unresolved
204 Toadlena, Two Grey Hills
D
48.2
903 143 Health Unresolved
205 Bylas
D
48
3K 424 Health Unresolved
206 Tacna
D
48
845 706 Health Unresolved
207 Eloy
D
47.2
17K 781 Health Unresolved
208 First Mesa Consolidated Villages
D
47.2
4K 376 Health Unresolved
209 Willcox
D
47.2
4K 235 Health Unresolved
210 Concho
D
47.2
1K 320 Health Unresolved
211 Ganado
D
47.2
1K 453 Health Unresolved
212 Johnson Ranch
D
47.1
98K 297 Health PFAS Unresolved
213 Sierra Vista
D
47
51K 4776 Health Unresolved
214 Winslow
D
47
10K 490 Health Unresolved
215 Taylor
D
47
4K 307 Health Unresolved
216 Vernon
D
47
3K 558 Health Unresolved
217 Huachuca City
D
47
3K 407 Health Unresolved
218 Kearny
D
47
2K 711 Health Unresolved
219 White Mountain Lakes
D
47
2K 285 Health Unresolved
220 Beaver Dam
D
47
2K 704 Health Unresolved
221 Fort Mohave
D
47
2K 321 Health Unresolved
222 Hayden
D
47
577 253 Health Unresolved
223 San Luis
D
46.8
40K 628 Health Unresolved
224 Whiteriver
D
46.8
19K 339 Health Unresolved
225 Benson
D
46.8
7K 517 Health Unresolved
226 Lake Havasu City
D
46.6
61K 514 Health Unresolved
227 Wellton
D
46.4
3K 453 Health Unresolved
228 Green Valley
D
46.2
48K 1175 Health Unresolved
229 Kayenta
D
46.2
6K 311 Unresolved
230 Prescott Valley
D
46
58K 442 Health Unresolved
231 El Mirage
D
46
40K 835 Health Unresolved
232 Big River
D
46
4K 236 Health Unresolved
233 Big River
D
46
4K 236 Health Unresolved
234 Cameron
D
46
2K 272 Health Unresolved
235 Aneth
D
46
2K 149 Health Unresolved
236 Elfrida
D
46
800 260 Health Unresolved
237 Douglas
D
45.9
17K 1376 Health Unresolved
238 Pinetop
D
45.8
14K 1037 Health Unresolved
239 Queen Creek
D
45.7
96K 551 Health Unresolved
240 Maricopa
D
45.6
91K 1389 Health Unresolved
241 Kingman
D
45.5
63K 1552 Health Unresolved
242 Somerton
D
45.5
16K 473 Health Unresolved
243 Show Low
D
45.4
32K 1380 Health Unresolved
244 Cottonwood
D
45.4
21K 1704 Health Unresolved
245 Flagstaff
D
45.3
94K 2244 Health Unresolved
246 Safford
D
45.2
22K 750 Health Unresolved
247 San Carlos
D
45.2
11K 2043 Health Unresolved
248 Camp Verde
D
45.2
9K 1489 Health Unresolved
249 Catalina
D
45.1
25K 1027 Health Unresolved
250 Bisbee
F
45
12K 382 Health PFAS Unresolved
251 Bonita
D
45
800 937 Health Unresolved
252 Tubac
F
44.5
3K 386 Health Unresolved
253 Apache Junction
F
44.3
78K 713 Health Unresolved
254 Holbrook
F
44.1
7K 333 Health Unresolved
255 Goodyear
F
44
50K 359 Health PFAS Unresolved
256 Fort Huachuca
F
44
16K 836 Health PFAS Unresolved
257 Surprise
F
43.9
202K 966 Health Unresolved
258 Buckeye
F
43.8
70K 1892 Health Unresolved
259 Parker
F
43.2
17K 1934 Health Unresolved
260 Wickenburg
F
43.2
10K 597 Health Unresolved
261 Scottsdale
F
43
244K 1262 Health Unresolved
262 Vail
F
43
4K 407 Health Unresolved
263 Cornville
F
43
3K 322 Health Unresolved
264 Springerville
F
43
2K 560 Health Unresolved
265 Fort Defiance
F
43
875 176 Health Unresolved
266 Duncan
F
43
747 370 Health Unresolved
267 Nogales
F
42.8
25K 1938 Health Unresolved
268 Fountain Hills
F
42.5
33K 494 Health Unresolved
269 Casa Grande
F
42.4
141K 1032 Health Unresolved
270 Peoria
F
42.3
199K 2366 Health PFAS Unresolved
271 Marana
F
42.2
34K 923 Health PFAS Unresolved
272 Pine
F
41.8
8K 1014 Health Unresolved
273 Sedona
F
41.5
24K 1929 Health PFAS Unresolved
274 Glendale
F
41.2
244K 1036 Health Unresolved
275 Globe
F
41.2
9K 1634 Health PFAS Unresolved
276 Mesa
F
40.6
466K 1579 Health Unresolved
277 Litchfield Park
F
40.6
59K 927 Health PFAS Unresolved
278 Chandler
F
40.5
271K 1179 Health Unresolved
279 Page
F
40.2
13K 499 Health Unresolved
280 Mohave Valley
F
40.2
4K 261 Health Unresolved
281 Sahuarita
F
40
24K 798 Health PFAS Unresolved
282 Bullhead City
F
39.8
73K 3538 Health PFAS Unresolved
283 Heber
F
38.2
17K 418 Health Unresolved
284 Tucson
F
38.1
894K 11665 Health PFAS Unresolved
285 Phoenix
F
37.5
1.7M 1269 Health Unresolved
286 Prescott
F
37.5
49K 1912 Health PFAS Unresolved
287 Yuma
F
36.1
157K 4943 Health Unresolved
288 Gilbert
F
34.8
248K 1070 Health PFAS Unresolved
289 Payson
F
34
25K 3557 Health PFAS Unresolved
290 Florence
F
34
23K 1427 Health Unresolved
291 Black Canyon City
F
30
3K 510 Health Lead Unresolved
292 Pima
F
29
5K 324 Health Lead Unresolved