Kansas Water Quality Report (2026)

By Echo Water Research Team 19 min read
Kansas Water Quality Report (2026)

Kansas Tap Water Quality Report

551 cities analyzed • 2,379,543 people served

Updated March 2026 • Data from EWG & EPA SDWIS

551
Cities Analyzed
10.0
Avg Above Guidelines
2,379,543
Total Population Served
Best Water Quality
Valley Falls (1 above guidelines)
Most Concerns
Great Bend (20 above guidelines)

Most Common Contaminants in Kansas

Contaminant Found In % of Cities
Dibromochloromethane carcinogen 513 of 551 93%
Total trihalomethanes (TTHMs) carcinogen 511 of 551 93%
Dibromoacetic acid 501 of 551 91%
Bromodichloromethane carcinogen 496 of 551 90%
Bromoform carcinogen 465 of 551 84%
Haloacetic acids (HAA5) carcinogen 457 of 551 83%
Dichloroacetic acid carcinogen 446 of 551 81%
Chloroform carcinogen 441 of 551 80%
Barium 390 of 551 71%
Monobromoacetic acid 377 of 551 68%

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 Great Bend 39 20 0 14,580
2 Arkansas City 29 16 0 11,929
3 Bonner Springs 29 16 0 7,805
4 Baldwin City 32 16 0 4,700
5 Russell 30 16 0 4,388
6 Burr Oak 20 16 0 142
7 Fort Riley 30 15 3 35,784
8 Atchison 29 15 0 10,694
9 St Marys 23 15 0 2,781
10 Galena 24 15 0 2,743
11 Norton 22 15 1 950
12 New Almelo 22 15 0 0
13 Wichita 24 14 0 395,699
14 Salina 30 14 0 46,481
15 Leavenworth 28 14 0 38,757
16 Garden City 29 14 0 35,126
17 Derby 24 14 0 25,413
18 Hays 30 14 0 20,795
19 Liberal 25 14 0 19,640
20 Valley Center 24 14 0 7,419
21 Pratt 29 14 0 6,573
22 Mcconnell Afb 24 14 0 6,009
23 Tonganoxie 27 14 0 5,702
24 Rose Hill 24 14 0 4,269
25 Auburn 27 14 0 4,160
26 Baxter Springs 25 14 0 3,852
27 Winchester 28 14 0 3,635
28 Ellsworth 22 14 0 2,992
29 Kechi 24 14 0 2,261
30 Humboldt 23 14 0 1,836
31 Rossville 19 14 0 1,099
32 Dwight 22 14 0 1,091
33 Benton 24 14 0 946
34 Assaria 30 14 0 936
35 Waterville 17 14 0 656
36 Gorham 22 14 0 381
37 Alliance 30 14 0 300
38 Dorrance 22 14 0 145
39 Rozel 20 14 0 98
40 Windom 23 14 0 93
41 Gaylord 20 14 0 83
42 Bentley 24 14 0 0
43 Dodge City 26 13 0 27,104
44 Junction City 25 13 0 19,167
45 Newton 24 13 0 18,433
46 Haysville 23 13 0 11,315
47 Coffeyville 24 13 0 8,847
48 Wellington 23 13 0 7,664
49 Mulvane 21 13 0 6,587
50 Iola 23 13 0 5,343
51 Wamego 21 13 0 4,860
52 Desoto 21 13 0 4,645
53 Girard 20 13 0 2,497
54 Sterling 19 13 0 2,318
55 Williamsburg 26 13 0 2,281
56 Ogden 17 13 0 1,721
57 South Coffeyville 24 13 0 1,113
58 Hanover 21 13 0 689
59 Gas 23 13 0 501
60 Cawker City 18 13 0 447
61 Miltonvale 17 13 0 444
62 Alta Vista 18 13 0 422
63 Arcadia 20 13 0 257
64 Brookville 21 13 0 244
65 Jamestown 18 13 0 234
66 Agra 21 13 0 200
67 Luray 21 13 0 167
68 Morrowville 21 13 0 115
69 Mayfield 23 13 0 74
70 Codell 17 13 0 40
71 Timken 19 13 1 39
72 Paradise 21 13 0 34
73 Waldo 21 13 1 31
74 Englewood 18 13 0 0
75 Hoxie 18 13 0 0
76 Atwood 18 13 0 0
77 Manhattan 23 12 0 54,763
78 Hutchinson 22 12 0 39,712
79 Emporia 24 12 0 24,009
80 Mcpherson 21 12 0 13,944
81 Ottawa 26 12 0 12,604
82 Parsons 25 12 0 9,479
83 Saint George 18 12 0 7,535
84 Goodland 18 12 0 4,450
85 Lyons 18 12 0 3,556
86 Rantoul 21 12 0 2,960
87 South Hutchinson 17 12 0 2,498
88 Anthony 16 12 0 2,043
89 Ellis 20 12 0 2,001
90 Larned 23 12 0 1,900
91 Plainville 18 12 0 1,762
92 Medicine Lodge 19 12 0 1,723
93 Oswego 21 12 0 1,680
94 Douglass 20 12 0 1,551
95 Arma 20 12 0 1,406
96 Osborne 19 12 0 1,324
97 Inman 17 12 0 1,316
98 Susank 19 12 0 1,300
99 Gridley 24 12 0 1,254
100 Farmington Hills 24 12 0 1,200
101 Lincoln 19 12 0 1,181
102 Victoria 16 12 0 1,149
103 Oxford 16 12 0 1,048
104 Erie 21 12 0 1,037
105 Solomon 19 12 0 993
106 Neosho Rapids 24 12 0 980
107 Little River 18 12 0 900
108 Vassar 22 12 0 900
109 Galva 18 12 0 870
110 Wakefield 19 12 0 846
111 Coldwater 19 12 0 672
112 Bennington 18 12 0 635
113 Nortonville 18 12 0 599
114 Olpe 24 12 0 513
115 Kensington 19 12 0 401
116 Dearing 24 12 0 376
117 Hartford 24 12 0 356
118 Hope 21 12 1 312
119 Natoma 20 12 0 300
120 Courtland 17 12 0 264
121 Princeton 26 12 0 252
122 Lane 21 12 0 244
123 Geneseo 18 12 0 231
124 Corning 14 12 0 213
125 Paxico 16 12 0 212
126 Walnut 20 12 0 189
127 Robinson 17 12 0 181
128 Hardtner 16 12 0 164
129 Bern 16 12 0 163
130 Woodbine 20 12 1 160
131 Fort Dodge 16 12 0 130
132 Albert 18 12 0 128
133 Havensville 19 12 0 125
134 Damar 18 12 0 115
135 Haddam 18 12 0 109
136 Munden 17 12 1 99
137 Formoso 17 12 0 92
138 Hazelton 15 12 0 84
139 Cullison 17 12 0 83
140 Narka 16 12 1 80
141 Esbon 18 12 0 68
142 Powhattan 17 12 0 68
143 Isabel 17 12 0 66
144 Oketo 18 12 0 65
145 Agenda 16 12 1 44
146 Belleville 16 12 1 0
147 Mount Hope 17 12 0 0
148 Dighton 17 12 0 0
149 Kinsley 15 12 0 0
150 Ness City 19 12 0 0
151 Gove 19 12 1 0
152 Fowler 17 12 0 0
153 Deerfield 18 12 0 0
154 Meade 19 12 0 0
155 Elwood 21 12 0 0
156 Highland 18 12 1 0
157 Pittsburg 21 11 0 20,738
158 Winfield 25 11 0 11,726
159 Augusta 19 11 0 9,267
160 Park City 17 11 1 8,503
161 Independence 19 11 0 8,464
162 Abilene 18 11 0 6,468
163 Goddard 20 11 0 5,372
164 Scott City 17 11 0 3,748
165 Marysville 14 11 0 3,417
166 Hoisington 20 11 0 2,657
167 Meriden 18 11 0 2,303
168 Phillipsburg 17 11 0 2,254
169 Neodesha 20 11 0 2,246
170 Fredonia 20 11 0 2,111
171 Minneapolis 14 11 0 1,948
172 Caney 18 11 1 1,756
173 Smith Center 18 11 0 1,572
174 Horton 17 11 0 1,514
175 Whitewater 23 11 0 1,455
176 Stockton 18 11 0 1,380
177 Silver Lake 16 11 0 1,337
178 Riverton 13 11 0 1,235
179 Stark 19 11 0 1,210
180 Oskaloosa 15 11 0 1,086
181 Nickerson 18 11 0 1,050
182 Caldwell 17 11 0 1,019
183 Longford 15 11 0 950
184 Chetopa 18 11 0 921
185 Talmage 16 11 0 879
186 Glen Elder 19 11 0 873
187 Kiowa 14 11 0 869
188 Perry 18 11 0 858
189 Mclouth 17 11 0 858
190 Mankato 15 11 0 848
191 Downs 17 11 0 804
192 Sycamore 19 11 0 745
193 Frankfort 21 11 0 723
194 Clyde 15 11 0 687
195 Leon 18 11 0 667
196 Udall 16 11 0 658
197 Scranton 18 11 0 651
198 Maple Hill 15 11 0 646
199 Chanute 20 11 0 625
200 Olsburg 16 11 0 625
201 Lecompton 20 11 0 592
202 Cherokee 20 11 0 591
203 Waverly 20 11 0 574
204 Weir 19 11 0 566
205 Burden 25 11 0 514
206 La Harpe 19 11 0 484
207 Moran 19 11 0 467
208 Glasco 18 11 0 441
209 Potwin 23 11 0 424
210 Axtell 14 11 0 398
211 Mayetta 19 11 0 356
212 Altoona 20 11 0 349
213 Lucas 17 11 0 337
214 Scandia 15 11 0 337
215 Mcfarland 16 11 0 281
216 Bazine 16 11 0 279
217 Healy 16 11 0 256
218 Grantville 18 11 1 228
219 Dexter 20 11 0 226
220 Buffalo 20 11 0 218
221 Palco 16 11 1 210
222 Beattie 16 11 0 199
223 Tipton 19 11 0 188
224 Morganville 15 11 0 183
225 Lebanon 15 11 0 182
226 Bison 15 11 0 178
227 Barnes 15 11 0 161
228 Sharon 16 11 0 147
229 Denison 19 11 0 145
230 Netawaka 19 11 0 141
231 Preston 16 11 0 120
232 Culver 14 11 0 115
233 Goff 15 11 0 105
234 Green 15 11 0 97
235 Portis 17 11 0 86
236 Republic 15 11 0 83
237 Simpson 16 11 0 81
238 Falun 18 11 0 80
239 Bluff City 17 11 0 59
240 Matfield Green 17 11 0 52
241 Hunter 19 11 0 51
242 Manchester 16 11 0 49
243 Rosalia 23 11 0 1
244 Florence 18 11 0 0
245 Maize 16 11 0 0
246 Lake City 13 11 0 0
247 Elmdale 17 11 0 0
248 Freeport 13 11 0 0
249 Collyer 17 11 0 0
250 Arlington 17 11 0 0
251 Jennings 15 11 0 0
252 Bucklin 18 11 0 0
253 Leonardville 15 11 0 0
254 Colby 18 11 0 0
255 Gardner 23 10 0 23,942
256 Fort Leavenworth 16 10 0 12,934
257 Eudora 14 10 0 6,449
258 Concordia 18 10 0 5,032
259 Berryton 19 10 0 4,663
260 Holton 20 10 0 4,376
261 Osawatomie 20 10 0 4,280
262 Clay Center 13 10 0 4,138
263 Hiawatha 14 10 0 3,246
264 Overbrook 18 10 0 3,186
265 Walton 15 10 0 3,000
266 Burlington 18 10 0 2,641
267 Clearwater 15 10 0 2,626
268 Holcomb 15 10 0 2,228
269 Oakley 14 10 0 2,026
270 Mound City 17 10 0 1,960
271 Moundridge 15 10 0 1,958
272 Marion 19 10 0 1,902
273 Sedgwick 11 10 0 1,598
274 Belle Plaine 16 10 1 1,468
275 Buhler 16 10 0 1,315
276 Harper 14 10 0 1,273
277 La Cygne 17 10 0 1,200
278 St John 14 10 0 1,176
279 Haven 14 10 0 1,149
280 Lyndon 18 10 0 1,049
281 Garden Plain 14 10 0 941
282 Pomona 18 10 0 890
283 Lebo 18 10 0 883
284 Westmoreland 15 10 0 850
285 Mccune 17 10 0 823
286 Durham 14 10 0 780
287 Enterprise 16 10 0 714
288 Fairview 15 10 0 709
289 Canton 15 10 0 699
290 Onaga 15 10 0 671
291 Ozawkie 15 10 0 636
292 St Paul 18 10 0 597
293 Linwood 16 10 0 499
294 Leroy 18 10 0 447
295 Denton 17 10 0 437
296 Thayer 20 10 0 433
297 New Strawn 18 10 0 412
298 Scammon 15 10 0 370
299 Jewell 12 10 1 365
300 Melvern 18 10 0 351
301 Delphos 13 10 0 306
302 Elk City 18 10 0 292
303 Quenemo 18 10 0 287
304 Sylvan Grove 14 10 0 285
305 Ransom 15 10 0 253
306 Parker 17 10 0 236
307 Elbing 15 10 0 225
308 Blue Mound 17 10 0 223
309 Easton 12 10 0 211
310 Bushton 17 10 0 199
311 Belvue 14 10 0 190
312 Schoenchen 15 10 0 173
313 Iuka 14 10 1 155
314 Geuda Springs 15 10 0 151
315 Bogue 17 10 0 151
316 West Mineral 17 10 0 150
317 Delia 13 10 0 149
318 Cuba 15 10 0 139
319 Wilsey 13 10 0 139
320 Viola 12 10 0 115
321 Soldier 19 10 0 102
322 Utica 15 10 0 101
323 Raymond 15 10 0 85
324 Randall 12 10 1 80
325 Barnard 12 10 1 57
326 Alexander 16 10 0 49
327 Cedar Point 15 10 0 0
328 Burrton 15 10 0 0
329 North Newton 15 10 0 0
330 Murdock 14 10 0 0
331 Ashland 17 10 0 0
332 Grainfield 17 10 0 0
333 Oberlin 16 10 0 0
334 Leoti 16 10 0 0
335 Minneola 16 10 0 0
336 Rolla 17 10 0 0
337 Elkhart 15 10 0 0
338 Lawrence 23 9 0 95,256
339 Bel Aire 12 9 0 8,448
340 Louisburg 13 9 0 4,994
341 Hesston 16 9 0 3,495
342 Hillsboro 16 9 0 2,740
343 Sabetha 17 9 0 2,519
344 Hoyt 11 9 0 2,500
345 Council Grove 16 9 0 2,111
346 Galesburg 11 9 0 2,095
347 Colony 11 9 0 2,093
348 Wellsville 12 9 0 1,933
349 Wakeeney 16 9 0 1,790
350 Piqua 11 9 0 1,773
351 Edgerton 11 9 0 1,741
352 Hill City 16 9 0 1,410
353 Carbondale 18 9 0 1,344
354 Yates Center 15 9 0 1,335
355 Pleasanton 15 9 0 1,238
356 La Crosse 19 9 0 1,232
357 Washington 13 9 0 1,065
358 Linn Valley 15 9 0 1,008
359 Peabody 16 9 0 932
360 Spearville 16 9 0 796
361 Madison 17 9 0 682
362 Pretty Prairie 11 9 0 655
363 Goessel 16 9 0 558
364 Gypsum 14 9 0 465
365 Milford 12 9 0 450
366 Richmond 16 9 0 442
367 Mulberry 17 9 0 411
368 Chase 15 9 0 390
369 Wetmore 14 9 0 348
370 Greenleaf 14 9 0 347
371 Bronson 19 9 0 305
372 Tescott 13 9 0 271
373 Everest 11 9 0 259
374 Lancaster 11 9 0 248
375 Burns 14 9 0 232
376 Morrill 17 9 0 217
377 Toronto 15 9 0 203
378 Severy 16 9 0 200
379 Winona 13 9 0 184
380 Hamilton 17 9 0 180
381 Randolph 10 9 0 167
382 Circleville 19 9 0 155
383 Lorraine 14 9 0 140
384 Beverly 12 9 0 135
385 Kirwin 16 9 0 132
386 Cassoday 11 9 0 111
387 Kincaid 11 9 0 106
388 Tribune 16 9 1 102
389 Vermillion 11 9 0 78
390 Spivey 10 9 0 59
391 Brownell 15 9 0 26
392 Havana 11 9 0 0
393 Halstead 10 9 0 0
394 Manter 13 9 0 0
395 Ensign 16 9 0 0
396 Quinter 15 9 0 0
397 Almena 14 9 0 0
398 Wallace 13 9 0 0
399 Hugoton 16 9 0 0
400 St Francis 13 9 0 0
401 Kansas City 21 8 0 480,000
402 Paola 22 8 0 10,311
403 Fort Scott 16 8 0 7,513
404 Tecumseh 11 8 0 6,073
405 Spring Hill 22 8 0 5,694
406 Basehor 10 8 0 3,200
407 Kingman 13 8 0 3,062
408 Columbus 11 8 0 2,882
409 Osage City 16 8 0 2,809
410 Eureka 13 8 0 2,289
411 Lakin 10 8 0 2,166
412 Cherryvale 17 8 0 2,138
413 Seneca 13 8 0 2,130
414 Troy 11 8 0 1,457
415 Conway Springs 12 8 0 1,429
416 Altamont 11 8 0 1,425
417 Wathena 12 8 0 1,242
418 Sedan 15 8 0 1,005
419 Riley 16 8 0 977
420 Burlingame 17 8 0 966
421 Andale 15 8 0 938
422 Stafford 13 8 0 936
423 Blue Rapids 13 8 0 921
424 Drexel 22 8 0 875
425 Cottonwood Falls 12 8 0 821
426 Howard 19 8 0 583
427 White City 14 8 0 581
428 Palmer 13 8 0 567
429 Moline 15 8 0 494
430 Cedar Vale 15 8 0 475
431 Macksville 14 8 0 471
432 Clifton 11 8 0 455
433 Strong City 12 8 0 455
434 Kanopolis 13 8 0 453
435 Logan 13 8 0 440
436 Mound Valley 17 8 0 420
437 Edna 17 8 0 383
438 Turon 14 8 0 304
439 Otis 13 8 0 297
440 Uniontown 11 8 0 296
441 Longton 10 8 0 277
442 Greeley 10 8 0 271
443 Fontana 22 8 0 216
444 Sylvia 14 8 1 210
445 Prescott 10 8 0 207
446 Reading 11 8 0 182
447 Harveyville 11 8 0 181
448 Atlanta 15 8 0 169
449 Fulton 10 8 0 165
450 Allen 11 8 0 159
451 Lehigh 13 8 0 159
452 Muscotah 14 8 0 158
453 Mccracken 13 8 0 154
454 Admire 11 8 0 130
455 Fall River 11 8 0 129
456 Peru 15 8 0 105
457 Latham 11 8 0 101
458 Cambridge 14 8 0 92
459 Bartlett 17 8 0 68
460 Virgil 12 8 0 48
461 Clayton 13 8 1 46
462 Greensburg 15 8 0 0
463 Mullinville 14 8 0 0
464 Hanston 13 8 0 0
465 Chautauqua 15 8 0 0
466 Copeland 17 8 1 0
467 Johnson City 18 8 0 0
468 Herndon 15 8 0 0
469 Ulysses 15 8 0 0
470 Arnold 14 8 0 0
471 Plains 15 8 0 0
472 Cimarron 14 8 0 0
473 Ford 12 8 1 0
474 Satanta 13 8 0 0
475 White Cloud 11 8 0 0
476 Lansing 11 8 0 0
477 Topeka 17 7 0 165,000
478 Olathe 19 7 0 143,014
479 Lindsborg 11 7 0 3,496
480 Garnett 12 7 0 3,192
481 Cheney 10 7 0 2,170
482 Towanda 7 7 0 1,565
483 Colwich 11 7 0 1,463
484 St George 14 7 0 998
485 Wilson 11 7 0 836
486 Alma 15 7 0 799
487 Argonia 9 7 0 455
488 Eskridge 13 7 0 413
489 Rexford 12 7 0 198
490 Emmett 12 7 0 170
491 Grenola 14 7 0 148
492 Summerfield 11 7 0 126
493 Woodston 11 7 0 95
494 Olmitz 11 7 0 91
495 Zenda 9 7 0 69
496 Selden 12 7 0 0
497 Moscow 12 7 0 0
498 Norcatur 11 7 0 0
499 Park 10 7 0 0
500 Sharon Springs 14 7 0 0
501 Marquette 10 6 0 596
502 Effingham 11 6 0 500
503 Norwich 12 6 0 433
504 Lewis 11 6 0 390
505 Linn 9 6 0 382
506 South Haven 11 6 0 325
507 Sawyer 12 6 0 91
508 Cunningham 9 6 0 0
509 Crestline 10 6 0 0
510 Ingalls 10 6 0 0
511 Burdett 10 6 0 0
512 Syracuse 11 6 0 0
513 Grinnell 12 6 0 0
514 Sublette 11 6 0 0
515 Weskan 12 6 0 0
516 Jetmore 9 6 0 0
517 El Dorado 15 5 0 12,810
518 Beloit 11 5 0 3,407
519 Herington 12 5 1 2,332
520 Ellinwood 8 5 0 220
521 Whiting 8 5 0 196
522 Long Island 8 5 0 135
523 Aurora 8 5 0 53
524 Mahaska 12 5 0 44
525 Brewster 10 5 0 0
526 Lenora 9 5 0 0
527 Liebenthal 10 5 0 0
528 Bird City 9 5 0 0
529 Claflin 10 4 0 553
530 Frontenac 7 4 0 430
531 Holyrood 9 4 0 409
532 Kanorado 8 4 0 155
533 Prairie View 7 4 0 102
534 Oneida 6 4 0 58
535 Haviland 6 4 0 0
536 Morland 11 4 0 0
537 Kismet 9 4 0 0
538 Coolidge 7 4 0 0
539 Protection 8 3 0 503
540 Mcdonald 7 3 0 116
541 Bunker Hill 6 3 0 106
542 Belpre 6 3 0 0
543 Pawnee Rock 7 3 0 0
544 Lapeer 5 2 0 256
545 Offerle 6 2 0 172
546 Chapman 5 2 0 80
547 Coats 6 2 0 68
548 Montezuma 8 2 0 0
549 Valley Falls 5 1 0 2,435
550 Abbyville 5 1 0 0
551 Kendall 5 1 0 0

Live in Kansas?

Get a free personalized water quality report for your address.

Check Your Water

Recommended Filtration for Kansas

Based on the most common contaminants found across Kansas (Dibromochloromethane, Total trihalomethanes (TTHMs), Dibromoacetic acid), 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 Kansas homes.

View RO Systems

Echo Whole-Home Filter

Protect every tap in your home from chlorine, VOCs, and disinfection byproducts.

View Whole-Home Filters

Echo Hydrogen Water Flask

Once your water is clean, supercharge it with molecular hydrogen for antioxidant and anti-inflammatory benefits.

Shop Hydrogen Flask

Frequently Asked Questions

Is Kansas tap water safe to drink?

Water quality varies significantly across Kansas. Of the 551 cities analyzed, the average city has 10.0 contaminants above EWG health guidelines. The best water quality was found in Valley Falls. We recommend checking your specific city's report for detailed information.

What city has the best water in Kansas?

Based on our analysis, Valley Falls has the fewest contaminants above EWG health guidelines in Kansas, with 1 above guideline levels.

What city has the worst water in Kansas?

Based on our analysis, Great Bend has the most contaminants above EWG health guidelines in Kansas, with 20 above guideline levels.

What's the best water filter for Kansas residents?

For most Kansas 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.

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.

Share
Leave a comment

This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.