WaterVerge

Kentucky Water Quality Rankings

246 cities ranked · Data from EPA SDWIS

79.3
State avg score
246
Cities ranked
82%
A or B grade
4%
D or F grade
222
Health violations
90
PFAS detected

Kentucky water quality overview

Kentucky's drinking water quality is good overall, with a state average score of 79.3 out of 100 — 5.1 points above the national average of 74.2. The median city score is 83, reflecting how water quality is distributed across the state's 246 ranked cities. 82% of Kentucky cities earned an A or B grade, indicating broadly strong water quality infrastructure. Only 3 cities received a failing grade. PFAS "forever chemicals" were detected in 90 of 246 cities (37%). Of those, 29 cities exceed the 2024 EPA maximum contaminant levels — a health concern requiring action. 222 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 Kentucky cities scored

41%
41%
13%
A
101
41%
Excellent
B
101
41%
Good
C
33
13%
Fair
D
8
3%
Poor
F
3
1%
Failing

Score distribution by range

129 65 0
10
10
24
48
129
25
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
Kentucky
79.3/100
B-
National avg
74.2/100
▲ 5.1 pts above national average

Water quality across Kentucky

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

All 246 cities in Kentucky

# City Grade Score Score Population Violations Issues
1 Bremen
A
94.3
7K 12 Unresolved
2 Warsaw
A
94.1
2K 11 Health Unresolved
3 Buckner
A
93.5
38K 8 Health Unresolved
4 Central City
A
92.1
6K 28 Health Unresolved
5 Hardin
A
91.7
2K 25 Health Unresolved
6 Springfield
A
91.3
14K 21 Health Unresolved
7 New Castle
A
91.3
2K 8 Unresolved
8 Oak Grove
A
91.2
9K 34 Health Unresolved
9 Harlan
A
91.2
5K 55 Health Unresolved
10 Almo
A
91
2K 11 Health Unresolved
11 Greensburg
A
90.9
2K 31 Health Unresolved
12 Hawesville
A
90.7
3K 14 Health Unresolved
13 Sparta
A
90.5
6K 79 Unresolved
14 White Plains
A
90.5
2K 60 Health Unresolved
15 Augusta
A
90.5
2K 17 Unresolved
16 Glasgow
A
90.4
37K 56 Health Unresolved
17 Russellvile
A
90.4
9K 18 Health Unresolved
18 Garrison
A
90.4
3K 18 Unresolved
19 Bedford
A
90.3
4K 10 Health Unresolved
20 Florence
A
90.2
29K 12 Health Unresolved
21 Whitley City
A
90
34K 25 Health Unresolved
22 Louisa
A
90
8K 32 Health Unresolved
23 Vanceburg
A
90
7K 45 Health Unresolved
24 Dawson Springs
A
90
3K 54 Health Unresolved
25 Trenton
A
90
950 61 Health Unresolved
26 Stanford
A-
89.9
9K 51 Health Unresolved
27 Franklin
A-
89.8
15K 67 Health Unresolved
28 Dover
A-
89.7
3K 31 Unresolved
29 Worthington
A-
89.7
2K 18 Unresolved
30 Lewisport
A-
89.6
3K 25 Unresolved
31 Jeffersonville
A-
89.4
5K 40 Health Unresolved
32 Calvert City
A-
89.4
4K 19 Health Unresolved
33 Hazel
A-
89.4
1K 5 Unresolved
34 Hyden
A-
89.3
10K 68 Health Unresolved
35 South Shore
A-
89.3
7K 109 Health Unresolved
36 Sandy Hook
A-
89.2
4K 12 Unresolved
37 Frakfort
A-
89.2
3K 10 Unresolved
38 Irvington
A-
89.2
2K 56 Health Unresolved
39 Mt Vernon
A-
89
13K 23 Health Unresolved
40 Lagrange
A-
89
10K 3 Unresolved
41 Wheelwright
A-
88.9
834 48 Health Unresolved
42 Horse Cave
A-
88.8
20K 46 Health Unresolved
43 Middlesboro
A-
88.8
14K 45 Health Unresolved
44 Harrodsburg
A-
88.8
8K 127 Health Unresolved
45 Science Hill
A-
88.8
6K 31 Health Unresolved
46 Island
A-
88.7
2K 28 Health Unresolved
47 Danville
A-
88.6
33K 65 Health Unresolved
48 Adairville
A-
88.5
5K 15 Health Unresolved
49 Parksville
A-
88.5
4K 6 Health Unresolved
50 Paintsville
A-
88.4
24K 74 Health Unresolved
51 Fulton
A-
88.3
5K 31 Health Unresolved
52 Ghent
A-
88.2
6K 14 Health Unresolved
53 Prestonsburg
A-
88.1
27K 39 Health Unresolved
54 Crittenden
A-
88.1
20K 31 Health Unresolved
55 Fort Campbell
A-
88
22K 10 Health Unresolved
56 Shelbyville
A-
87.5
24K 30 Health Unresolved
57 Eddyville
A-
87.5
5K 40 Health Unresolved
58 Eminence
A-
87.5
3K 5 Health Unresolved
59 Symsonia
A-
87.5
2K 98 Health Unresolved
60 Eubank
A-
87.4
12K 24 Health Unresolved
61 Dawson Springs, Ky 42408
A-
87.4
8K 18 Health Unresolved
62 Auburn
A-
87.4
3K 38 Health Unresolved
63 Earlington
A-
87.4
2K 41 Health Unresolved
64 Brodhead
A-
87.3
7K 41 Health Unresolved
65 Lebanon
A-
87.2
24K 40 Health Unresolved
66 Grennsburg
A-
87.2
15K 26 Health Unresolved
67 Edmonton
A-
87.2
9K 21 Health Unresolved
68 Bradenburg
A-
87
33K 15 Health Unresolved
69 Nortonville
A-
86.9
3K 63 Health Unresolved
70 Ft. Thomas
A-
86.8
199K 142 Unresolved
71 Elkton
A-
86.7
13K 36 Health Unresolved
72 Raceland
A-
86.7
3K 21 Unresolved
73 Campbellsburg
A-
86.6
18K 80 Health Unresolved
74 Wingo
A-
86.6
965 67 Health Unresolved
75 Monticello
A-
86.5
21K 22 Health Unresolved
76 Salt Lick
A-
86.5
10K 11 Health Unresolved
77 Radcliff
A-
86.4
54K 144 Health Unresolved
78 Paducah
A-
86.3
65K 35 Health PFAS Unresolved
79 Walton
A-
86.3
4K 9 Health Unresolved
80 Russell
A-
86.2
5K 82 Health Unresolved
81 Cloverport
A-
86.2
2K 50 Health Unresolved
82 Bardwell
A-
86
1K 78 Health Unresolved
83 Owingsville
A-
85.9
2K 52 Health Unresolved
84 Elkhorn City
A-
85.9
2K 25 Health Unresolved
85 Hopkinsville
A-
85.8
59K 55 Health Unresolved
86 Taylorsville
A-
85.8
22K 12 Health PFAS Unresolved
87 Hustonville
A-
85.8
5K 18 Health Unresolved
88 Burnside
A-
85.7
2K 62 Health Unresolved
89 Bonnieville
A-
85.7
2K 14 Unresolved
90 Leitchfield
A-
85.6
28K 59 Health Unresolved
91 Berea
A-
85.5
25K 79 Health Unresolved
92 Mt Washington
A-
85.5
24K 15 Health PFAS Unresolved
93 Frenchburg
A-
85.5
5K 9 Health Unresolved
94 Lebanon Junction
A-
85.5
3K 19 Health Unresolved
95 Muldraugh
A-
85.4
1K 4 Unresolved
96 Hardinsburg
A-
85.2
18K 85 Health Unresolved
97 Brooksville
A-
85.2
7K 31 Health Unresolved
98 Owensboro
A-
85.1
94K 137 Health PFAS Unresolved
99 Grand Rivers
A-
85.1
4K 15 Health PFAS Unresolved
100 Midway
A-
85.1
2K 42 Unresolved
101 Fountain Run
A-
85.1
1K 11 Health Unresolved
102 Bardstown
B+
85
31K 82 Health Unresolved
103 Mortons Gap
B+
84.9
1K 8 Unresolved
104 Lancaster
B+
84.7
19K 95 Health Unresolved
105 Tompkinville, Ky
B+
84.7
10K 11 Health Unresolved
106 Simpsonville
B+
84.7
7K 17 Health PFAS Unresolved
107 Whitesville
B+
84.6
4K 10 PFAS Unresolved
108 Nebo
B+
84.5
5K 17 Health Unresolved
109 Butler
B+
83.9
980 48 Health Unresolved
110 Somerset
B+
83.8
75K 49 Health Unresolved
111 Fredonia
B+
83.8
1K 9 Unresolved
112 Scottsville
B+
83.7
23K 151 Health Unresolved
113 Carrollton
B+
83.7
7K 109 Health Unresolved
114 Wilmore
B+
83.7
6K 143 Health Unresolved
115 Arlington
B+
83.7
801 109 Unresolved
116 Ewing
B+
83.6
4K 114 Health Unresolved
117 Knottsville
B+
83.5
12K 13 Health PFAS Unresolved
118 Marion
B+
83.5
3K 55 Health Unresolved
119 Guthrie
B+
83.4
2K 41 Health Unresolved
120 Russellville
B+
83.3
10K 46 Health Unresolved
121 Georgetown
B+
83.2
36K 35 Health PFAS Unresolved
122 Mckinney
B+
83.2
5K 33 Health Unresolved
123 Madisonville
B+
83.1
4K 27 Health Unresolved
124 Princeton
B+
83
13K 79 Health Unresolved
125 Clay City
B+
83
9K 38 Health Unresolved
126 Brandenburg
B+
83
5K 57 Health Unresolved
127 Cadiz
B+
82.9
20K 83 Health Unresolved
128 Beaver Dam
B+
82.8
5K 65 Health Unresolved
129 Corinth
B+
82.8
3K 28 Health Unresolved
130 Cumberland
B+
82.8
3K 46 Health Unresolved
131 Slaughters
B+
82.8
659 14 Health Unresolved
132 Vine Grove
B+
82.4
7K 17 Health Unresolved
133 Coxs Creek
B+
82.3
13K 14 Health PFAS Unresolved
134 Louisville
B+
82.2
765K 82 Health PFAS Unresolved
135 Winchester
B+
82.2
37K 84 Health Unresolved
136 Mayking
B+
82.2
3K 60 Health Unresolved
137 Sacramento
B+
82.2
2K 20 Health Unresolved
138 Morgantown
B+
82
3K 59 Health Unresolved
139 Vicco
B+
81.6
10K 64 Health Unresolved
140 Salvisa
B+
81.3
10K 20 Health Unresolved
141 Olive Hill
B+
81.3
6K 64 Health Unresolved
142 Elizabethtown
B+
81.2
76K 8 Health PFAS Unresolved
143 Bronston
B+
81.1
7K 72 Health Unresolved
144 Booneville
B+
81.1
5K 91 Health Unresolved
145 Stanton
B+
80.8
7K 44 Health Unresolved
146 Flemingsburg
B+
80.7
14K 57 Health Unresolved
147 Cawood
B+
80.6
5K 52 Health Unresolved
148 Mount Olivet
B+
80.5
775 39 Health Unresolved
149 Versailles
B+
80.4
20K 105 Health Unresolved
150 Salem
B+
80.4
11K 92 Health PFAS Unresolved
151 Russell Springs
B+
80.4
9K 60 Health Unresolved
152 Bagdad
B+
80.1
23K 31 Health PFAS Unresolved
153 Whitesburg
B+
80
4K 82 Health Unresolved
154 Hindman
B+
80
2K 27 Health Unresolved
155 Wickliffe
B
79.9
1K 48 Unresolved
156 Sedalia
B
79.8
28K 29 Health Unresolved
157 Jamestown
B
79.8
7K 104 Health Unresolved
158 Mayslick
B
79.7
5K 25 Health PFAS Unresolved
159 Henderson
B
79.5
49K 94 Health Unresolved
160 Carlisle
B
79.1
2K 82 Health Unresolved
161 Lexington
B
79
303K 90 Health Unresolved
162 Hickman
B
78.9
3K 88 Health Unresolved
163 Evarts
B
78.7
3K 86 Health Unresolved
164 Fordsville
B
78.5
927 30 Health Unresolved
165 Dry Ridge
B
78.4
8K 72 Health Unresolved
166 Kevil
B
78.3
2K 170 Health Unresolved
167 Bloomfield
B
78.2
6K 29 Health Unresolved
168 Corbin
B
78.1
26K 55 Health PFAS Unresolved
169 Richmond
B
77.9
67K 65 Health Unresolved
170 Burlington
B
77.8
67K 72 Health Unresolved
171 Flatwoods
B
77.3
10K 28 Health PFAS Unresolved
172 Hanson
B
77.3
2K 33 Health Unresolved
173 Lawrenceburg
B
77.2
23K 132 Health Unresolved
174 Crab Orchard
B
77.1
1K 38 Health Unresolved
175 Benham
B
76.8
855 39 Health Unresolved
176 Campbellsville
B
76.2
47K 105 Health Unresolved
177 Bowling Green
B
75.5
168K 222 Health Unresolved
178 Sharpsburg
B
75.5
4K 29 Health Unresolved
179 Irvine,
B
75.1
15K 59 Health Unresolved
180 Livermore
B
75
5K 93 Health PFAS Unresolved
181 Sebree
B-
75
2K 18 Health Unresolved
182 Cave City
B-
74.4
10K 71 Health Unresolved
183 Drakesboro
B-
74.3
888 32 Health Unresolved
184 Jenkins
B-
73.9
3K 68 Health Unresolved
185 Hazard
B-
73.8
27K 162 Health Unresolved
186 Burkesville
B-
73.8
10K 153 Health Unresolved
187 Burgin
B-
73.6
8K 65 Health Unresolved
188 Dixon
B-
73.5
7K 118 Health Unresolved
189 Maysville
B-
73.4
18K 96 Health Unresolved
190 Wurtland
B-
73.3
2K 26 Health Unresolved
191 Buckhorn
B-
73.2
875 88 Health Unresolved
192 Albany
B-
72.8
9K 60 Health Unresolved
193 Mckee
B-
71.7
15K 148 Health Unresolved
194 Grayson
B-
71.3
22K 71 Health Unresolved
195 Greenup
B-
71.2
12K 96 Health Unresolved
196 Salyersville
B-
71.2
12K 88 Health Unresolved
197 Inez
B-
71.1
9K 93 Health Unresolved
198 West Liberty
B-
71
10K 38 Health Unresolved
199 Calisle
B-
70.6
4K 59 Health Unresolved
200 Lacenter
B-
70.6
2K 146 Health Unresolved
201 Tompkinsville
B-
70.3
2K 110 Health Unresolved
202 London
B-
70.2
72K 156 Health Unresolved
203 Morehead
C+
69.6
34K 244 Health Unresolved
204 Campton
C+
69.6
7K 115 Health Unresolved
205 Uniontown
C+
69.6
1K 36 Health Unresolved
206 Liberty
C+
69.3
15K 274 Health Unresolved
207 Cynthiana
C+
68.3
24K 213 Health PFAS Unresolved
208 Pineville
C+
68.3
17K 242 Health Unresolved
209 Paris
C+
68.2
14K 189 Health Unresolved
210 Frankfort
C+
67.6
66K 156 Health Unresolved
211 Ledbetter
C+
67.4
3K 135 Health PFAS Unresolved
212 Greenville
C+
67
22K 47 Health Unresolved
213 Benton
C+
66.9
31K 239 Health Unresolved
214 Williamsburg
C+
66.6
16K 48 Health PFAS Unresolved
215 Ashland
C+
65.7
53K 135 Health PFAS Unresolved
216 Clay
C+
65.6
1K 42 Health Unresolved
217 Falmouth
C+
65.3
15K 81 Health PFAS Unresolved
218 Ft. Campbell
C+
65.2
43K 77 PFAS Unresolved
219 Barbourville
C+
65.2
25K 290 Health Unresolved
220 Mcdoqwell
C+
65
15K 49 Health Unresolved
221 Hodgenville
C
64.3
15K 86 Health Unresolved
222 Hartford
C
62.4
20K 207 Health Unresolved
223 Jackson
C
61.9
10K 137 Health Unresolved
224 Beattyville
C
61.9
8K 84 Health PFAS Unresolved
225 Manchester
C
61.5
17K 99 Health Unresolved
226 Calhoun
C
60
2K 80 Health Unresolved
227 Lynch
C-
58.2
1K 91 Health Unresolved
228 Smithland
C-
58.1
989 105 Health Unresolved
229 Catlettsburg
C-
57.1
13K 50 Health PFAS Unresolved
230 Murray
C-
57
26K 339 Health Unresolved
231 Kuttawa
C-
56.9
8K 64 Health PFAS Unresolved
232 Nicholasville
C-
56.8
51K 172 Health Unresolved
233 Lewisburg
C-
56.6
3K 84 Health Unresolved
234 Mayfield
C-
56.2
26K 515 Health Unresolved
235 Sturgis
C-
56.1
3K 119 Health PFAS Unresolved
236 Brownsville
D+
50.2
18K 164 Health Unresolved
237 Providence
D
49.5
5K 109 Health Unresolved
238 Livingston
D
47.4
529 94 Unresolved
239 Mt Sterling
D
47
29K 291 Health Unresolved
240 Pikeville
D
46.8
54K 177 Health Unresolved
241 Neon
D
46
3K 131 Health Unresolved
242 Martin
D
46
1K 125 Health Unresolved
243 Milton
D
45.5
5K 110 Health Unresolved
244 Morganfield
F
44.5
11K 80 Health PFAS Unresolved
245 Milton
F
43.5
9K 121 Health Unresolved
246 Baxter
F
43.3
10K 392 Health Unresolved