WaterVerge

Colorado Water Quality Rankings

246 cities ranked · Data from EPA SDWIS

66.1
State avg score
246
Cities ranked
48%
A or B grade
38%
D or F grade
206
Health violations
67
PFAS detected

Colorado water quality overview

Colorado's drinking water quality is fair overall, with a state average score of 66.1 out of 100 — 8.1 points below the national average of 74.2. The median city score is 69.5, reflecting how water quality is distributed across the state's 246 ranked cities. 38% of cities scored a D or F, pointing to significant water quality challenges across much of the state. 119 cities did earn an A or B grade, showing that strong systems do exist. PFAS "forever chemicals" were detected in 67 of 246 cities (27%). Of those, 10 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. 206 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 Colorado cities scored

23%
26%
14%
22%
16%
A
56
23%
Excellent
B
63
26%
Good
C
34
14%
Fair
D
54
22%
Poor
F
39
16%
Failing

Score distribution by range

67 34 0
1
10
67
26
23
40
59
20
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+
Colorado
66.1/100
B-
National avg
74.2/100
▼ 8.1 pts below national average

Water quality across Colorado

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

All 246 cities in Colorado

# City Grade Score Score Population Violations Issues
1 Pelham
A+
96.8
1K 4
2 Northglenn
A+
95.6
49K 7
3 Gypsum
A+
95
15K 49 Health Unresolved
4 Sanford
A
94.2
850 52 Unresolved
5 Vail
A
93.9
52K 22
6 Niwot
A
93.7
20K 70 Health Unresolved
7 Commerce City
A
93.2
74K 0 Zero violations
8 Clifton
A
92.5
35K 16 Health Unresolved
9 Severance
A
92.3
12K 10 Unresolved
10 Des Plaines
A
92.3
702 9 Unresolved
11 Manitou Springs
A
92
7K 43 Health Unresolved
12 Erie
A
91.6
40K 38 Health
13 Superior
A
91.5
18K 53 Health Unresolved
14 Eads
A
91.4
656 85 Health Unresolved
15 Tabernash
A
91.3
564 35
16 Byers
A
90.6
1K 8 Health Unresolved
17 Dubuque
A
90.4
548 8 Unresolved
18 Zion
A
90.3
624 8
19 Usaf Academy
A
90.2
17K 25 Health Unresolved
20 Pierce
A
90.2
1K 65 Health Unresolved
21 Edgewater
A-
89.8
5K 4 Unresolved
22 Bennett
A-
89.3
4K 19 Health Unresolved
23 Fort Morgan
A-
89.2
20K 49 Health Unresolved
24 Longmont
A-
89
107K 46 Health Unresolved
25 Louisville
A-
88.7
21K 42 Health Unresolved
26 Parachute
A-
88.7
2K 40 Health Unresolved
27 Penrose
A-
88.6
3K 24 Health Unresolved
28 Collbran
A-
88.6
678 7 Unresolved
29 Kersey
A-
88.3
2K 16 Health Unresolved
30 Dacono
A-
88.1
7K 8 Health Unresolved
31 New Castle
A-
88
6K 127 Health Unresolved
32 Diamond
A-
87.9
543 2 Unresolved
33 La Porte
A-
87.8
4K 18 Health Unresolved
34 Georgetown
A-
87.7
5K 38 Health Unresolved
35 Gainesville
A-
87.7
1K 23 Health Unresolved
36 Nederland
A-
87.6
2K 26 Health Unresolved
37 Swink
A-
87.6
660 15 Health Unresolved
38 Black Hawk
A-
87.5
15K 97 Unresolved
39 Simla
A-
87.3
618 20 Health Unresolved
40 Lake City
A-
87.2
654 20 Health Unresolved
41 Deer Trail
A-
87
2K 146 Health Unresolved
42 Firestone
A-
86.9
28K 16 Unresolved
43 Flagler
A-
86.8
2K 88 Health Unresolved
44 Hot Sulphur Springs
A-
86.8
687 27 Health Unresolved
45 Keenesburg
A-
86.7
5K 110 Health Unresolved
46 Poncha Springs
A-
86.7
1K 11 Health Unresolved
47 Hastings
A-
86.7
738 4 Unresolved
48 Center
A-
86.3
3K 37 Unresolved
49 Lochbuie
A-
86.2
7K 40 Health Unresolved
50 Limon
A-
86.2
6K 26 Health Unresolved
51 Mount Crested Butte
A-
86.2
4K 38 Unresolved
52 Kiowa
A-
85.8
910 26 Unresolved
53 Fort Carson
A-
85.7
48K 6
54 Delta
A-
85.7
9K 5 Health Unresolved
55 Silverton
A-
85.4
2K 11 Health Unresolved
56 Central City
A-
85.2
4K 17 Health Unresolved
57 Breckenridge
B+
84.9
28K 62 Health Unresolved
58 Gilcrest
B+
84.9
1K 7 Health Unresolved
59 Castle Pines
B+
84.8
13K 72 Unresolved
60 Federal Heights
B+
84.8
12K 1 Unresolved
61 Lucerne
B+
84.2
16K 1 Unresolved
62 Wray
B+
84.2
2K 34 Unresolved
63 Log Lane Village
B+
83.9
1K 22 Health Unresolved
64 Hillrose
B+
83.8
5K 22 Health Unresolved
65 Arvada
B+
83.5
173K 7 Health Unresolved
66 Conifer
B+
83.5
2K 66 Health Unresolved
67 Platteville
B+
83.4
3K 16 Unresolved
68 Canon City
B+
83
39K 78 Health Unresolved
69 Copper Mountain
B+
82.8
6K 3 Health Unresolved
70 Springfield
B+
82.8
1K 11 Health Unresolved
71 Minturn
B+
82.5
1K 16 Health Unresolved
72 Grand Lake
B+
82.3
3K 80 Health Unresolved
73 Nathrop
B+
82.2
638 107 Health Unresolved
74 Las Animas
B+
81.8
2K 38 Health Unresolved
75 Decatur
B+
81.7
500 10 Unresolved
76 Austin
B+
81.3
3K 23 Unresolved
77 Ault
B+
81.2
4K 7 Unresolved
78 West Columbia
B+
80.6
1K 16 Health Unresolved
79 Evans
B+
80
21K 22 Unresolved
80 Manassa
B
79.6
976 110 Health Unresolved
81 Grand Junction
B
79
119K 63 Health Unresolved
82 Johnstown
B
79
25K 94 Health Unresolved
83 Olathe
B
79
3K 5 Unresolved
84 Walden
B
78.9
652 17 Health Unresolved
85 La Jara
B
78.7
825 79 Unresolved
86 Broomfield
B
78.5
110K 60 Health Unresolved
87 Creede
B
78.2
2K 28 Unresolved
88 Cheyenne Wells
B
78
840 136 Health Unresolved
89 Rockvale
B
77.8
504 23 Health Unresolved
90 Craig
B
77.7
9K 41 Unresolved
91 Milliken
B
77.6
9K 117 Unresolved
92 Cripple Creek
B
77.5
3K 67 Health Unresolved
93 Dolores
B
77.4
15K 27 Health Unresolved
94 Elizabeth
B
77.3
5K 128 Health Unresolved
95 Akron
B
77.1
2K 77 Health Unresolved
96 Rock Springs
B
77
1K 35 Health Unresolved
97 Fowler
B
76.1
1K 46 Health Unresolved
98 Del Norte
B
75.9
1K 96 Health Unresolved
99 Williamsburg
B
75.8
775 37 Unresolved
100 Indian Hills
B
75.5
1K 34 Health Unresolved
101 Idaho Springs
B
75.2
10K 40 Health Unresolved
102 Lamar
B-
74.8
8K 140 Health Unresolved
103 Eaton
B-
74.6
7K 13 Health Unresolved
104 Westcliffe
B-
74.5
2K 20 Unresolved
105 Hugo
B-
74.4
885 41 Health Unresolved
106 Julesburg
B-
73.9
1K 19 Health Unresolved
107 Wellington
B-
73.8
16K 71 Health Unresolved
108 El Jebel
B-
73.8
2K 34 Health Unresolved
109 Frederick
B-
73.6
18K 19 Health Unresolved
110 Woodland
B-
73
9K 42 Health Unresolved
111 Mulberry
B-
73
764 30 Health Unresolved
112 Norwood
B-
72.8
2K 95 Health Unresolved
113 Snowmass Village
B-
72.7
6K 18 Health Unresolved
114 Crestone
B-
72.3
2K 77 Health Unresolved
115 Highlands Ranch
B-
71.5
105K 47 Unresolved
116 Moffat
B-
71.2
580 85 Health Unresolved
117 Pueblo West
B-
71
30K 64 Health Unresolved
118 Peyton
B-
71
14K 115 Health Unresolved
119 Golden
B-
70.5
55K 175 Health Unresolved
120 Morrison
C+
69.9
10K 167 Health Unresolved
121 Holyoke
C+
69.9
3K 50 Health Unresolved
122 Otis
C+
69.9
600 180 Health Unresolved
123 Rangely
C+
69.8
2K 66 Health Unresolved
124 Meeker
C+
69.5
3K 110 Health Unresolved
125 Debeque
C+
69.4
911 102 Health Unresolved
126 Lasalle
C+
69.2
2K 27 Health Unresolved
127 Florence
C+
68.8
8K 121 Health Unresolved
128 Ordway
C+
68.6
2K 114 Health Unresolved
129 Sedalia
C+
68.4
525 183 Health Unresolved
130 Empire
C+
68.1
500 52 Health Unresolved
131 Dillon
C+
67.8
9K 34 Unresolved
132 Eagle
C+
67.4
8K 134 Health Unresolved
133 Yuma
C+
65.5
4K 175 Health Unresolved
134 Berthoud
C+
65.2
40K 82 Health PFAS Unresolved
135 Kremmling
C
64.7
2K 64 Health Unresolved
136 Gunnison
C
63.7
11K 100 Health PFAS Unresolved
137 Edwards
C
63.5
2K 145 Health Unresolved
138 Mancos
C
62.7
3K 109 Health Unresolved
139 Keystone
C
61.9
11K 69 Health PFAS Lead Unresolved
140 Fairplay
C
61.8
1K 114 Health Unresolved
141 Bailey
C
61.8
783 111 Health Unresolved
142 Haxtun
C
60.7
963 225 Health Unresolved
143 Dove Creek
C-
59
850 53 Health Unresolved
144 Naturita
C-
59
585 75 Health Unresolved
145 Clark
C-
59
511 107 Health Unresolved
146 Palisade
C-
57.9
3K 163 Health Unresolved
147 Stratton
C-
57.9
960 138 Health Unresolved
148 Crested Butte
C-
57.8
6K 241 Health Unresolved
149 Fraser
C-
57.5
5K 270 Unresolved
150 Ouray
C-
57.4
1K 114 Health Unresolved
151 Sterling
C-
56.6
15K 159 Health Unresolved
152 Granby
C-
55.8
5K 256 Health Unresolved
153 Burlington
C-
55.8
4K 317 Health Unresolved
154 Silverthorne
D+
54.1
12K 382 Health Unresolved
155 Ridgway
D+
53.7
1K 91 Health Unresolved
156 Walsh
D+
53.1
650 44 Health Unresolved
157 Wiley
D+
52
2K 627 Health Unresolved
158 Perth (T)
D+
52
500 750 Health Unresolved
159 Larkspur
D+
51.5
4K 95 Health Unresolved
160 Monte Vista
D+
51
5K 679 Health Unresolved
161 Woody Creek
D+
50.5
544 277 Health Unresolved
162 Wiggins
D+
50
2K 209 Health Unresolved
163 Calhan
D+
50
1K 372 Health Unresolved
164 Holly
D+
50
1K 244 Health Unresolved
165 Pine Bluffs
D+
50
1K 193 Health Unresolved
166 Pine Bluffs
D+
50
1K 193 Health Unresolved
167 Manzanola
D+
50
967 602 Health Unresolved
168 Saguache
D+
50
504 151 Health Unresolved
169 Englewood
D
49.8
100K 203 Health Unresolved
170 Aspen
D
49.5
33K 210 Health Unresolved
171 Falcon
D
49.2
19K 681 Health Unresolved
172 Hayden
D
49.2
4K 144 Health Unresolved
173 Basalt
D
49
8K 529 Health Unresolved
174 Bayfield
D
49
6K 365 Health Unresolved
175 Walsenburg
D
49
4K 390 Health Unresolved
176 Watkins
D
49
4K 159 Health Unresolved
177 Oak Creek
D
49
2K 132 Health Unresolved
178 Beulah
D
49
927 220 Health Unresolved
179 Windsor
D
48.8
30K 1144 Health Unresolved
180 Paonia
D
48.5
4K 561 Health Unresolved
181 Redvale
D
48
10K 181 PFAS Unresolved
182 Hudson
D
48
4K 973 Health Unresolved
183 Leadville
D
47.5
8K 500 Health Unresolved
184 Alamosa
D
47.2
13K 476 Health Unresolved
185 Cortez
D
47.2
10K 158 Health Unresolved
186 Winter Park
D
47
12K 272 Health Unresolved
187 Strasburg
D
47
2K 181 Health Unresolved
188 Fort Collins
D
46.8
304K 121 Health Unresolved
189 Estes Park
D
46.4
22K 225 Health Unresolved
190 Rifle
D
46.2
11K 404 Health Unresolved
191 Westminster
D
46
204K 115 Health Unresolved
192 Trinidad
D
46
13K 288 Health Unresolved
193 Glendale
D
46
7K 213 Health Unresolved
194 Woodland Park
D
46
2K 523 Health Unresolved
195 San Luis
D
46
1K 242 Health Unresolved
196 South Fork
D
46
1K 255 Health Unresolved
197 Rye
D
46
745 257 Health Unresolved
198 Salida
D
45.8
6K 225 Health Unresolved
199 Wheat Ridge
D
45
41K 347 Health Unresolved
200 Fort Lupton
D
45
14K 162 Health Unresolved
201 Cedaredge
D
45
9K 513 Health Unresolved
202 Telluride
D
45
9K 400 Health Unresolved
203 Lyons
D
45
4K 116 Health Unresolved
204 Palmer Lake
D
45
3K 151 Health Unresolved
205 Towoac
D
45
2K 436 Health Unresolved
206 Nucla
D
45
875 134 Health Unresolved
207 Granada
D
45
515 238 Health Unresolved
208 Divide
F
44.5
3K 837 Health Unresolved
209 Greeley
F
44.1
141K 166 Health Unresolved
210 Frisco
F
44
5K 546 Health Unresolved
211 Loveland
F
43.8
98K 336 Health Unresolved
212 Buena Vista
F
43.5
7K 526 Health Unresolved
213 Boulder
F
43.4
171K 116 Health Unresolved
214 Parker
F
43.4
105K 499 Health PFAS Unresolved
215 La Junta
F
43.2
10K 715 Health Unresolved
216 Administrative Contact
F
43.2
4K 383 Health Unresolved
217 Silt
F
43
4K 173 Health Unresolved
218 Lafayette
F
42.6
32K 461 Health Unresolved
219 Steamboat Springs
F
42.6
30K 607 Health Unresolved
220 Montrose
F
42.2
52K 474 Health Unresolved
221 Carbondale
F
42.2
8K 1470 Health Unresolved
222 Pagosa Springs
F
42
12K 285 Health Unresolved
223 Colorado City
F
42
3K 132 Health Unresolved
224 Ft Morgan
F
42
705 176 Health Unresolved
225 Fountain
F
41.9
26K 204 Health Unresolved
226 La Veta
F
41.9
1K 141 Health Unresolved
227 Monument
F
41.8
31K 341 Health Unresolved
228 Evergreen
F
41.8
17K 178 Health Unresolved
229 Antonito
F
41.5
1K 399 Health Unresolved
230 Glenwood Springs
F
41
17K 515 Health Unresolved
231 Crawford
F
41
1K 520 Health Unresolved
232 Pueblo
F
40.9
128K 363 Health Unresolved
233 Littleton
F
40.9
127K 341 Health Unresolved
234 Greenwood Village
F
40.2
20K 268 Health Unresolved
235 Castle Rock
F
40
116K 259 Health Unresolved
236 Denver
F
39.6
1.4M 1182 Health Unresolved
237 Aurora
F
38.1
604K 1430 Health Unresolved
238 Thornton
F
38
233K 139 Health PFAS Unresolved
239 Durango
F
38
47K 1724 Health Unresolved
240 Ignacio
F
38
3K 156 Health Unresolved
241 Lakewood
F
36.9
252K 591 Health Unresolved
242 Centennial
F
36.8
106K 298 Health PFAS Unresolved
243 Brighton
F
36
65K 337 Health PFAS Unresolved
244 Colorado Springs
F
33.5
572K 2519 Health PFAS Unresolved
245 Hotchkiss
F
31
4K 957 Health Lead Unresolved
246 Rocky Ford
F
29.2
6K 726 Health PFAS Lead Unresolved