Missouri Water Quality Report (2026)

By Echo Water Research Team 23 min read
Missouri Water Quality Report (2026)

Missouri Tap Water Quality Report

685 cities analyzed • 4,631,280 people served

Updated March 2026 • Data from EWG & EPA SDWIS

685
Cities Analyzed
6.4
Avg Above Guidelines
4,631,280
Total Population Served
Best Water Quality
Willard (0 above guidelines)
Most Concerns
O Fallon (16 above guidelines)

Most Common Contaminants in Missouri

Contaminant Found In % of Cities
Total trihalomethanes (TTHMs) carcinogen 507 of 685 74%
Chloroform carcinogen 481 of 685 70%
Bromodichloromethane carcinogen 477 of 685 70%
Barium 473 of 685 69%
Dibromochloromethane carcinogen 458 of 685 67%
Haloacetic acids (HAA5) carcinogen 392 of 685 57%
Manganese 387 of 685 56%
Nitrate and nitrite carcinogen 368 of 685 54%
Dichloroacetic acid carcinogen 343 of 685 50%
Fluoride 329 of 685 48%

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 O Fallon 36 16 0 100,587
2 St Louis 30 15 0 304,709
3 Barnhart 31 15 0 36,000
4 Arnold 31 15 0 20,000
5 Chesterfield 31 14 0 1,100,000
6 St Peters 35 14 0 52,575
7 Jefferson City 26 14 0 30,075
8 Kirkwood 31 14 0 28,000
9 Webb City 26 14 0 12,488
10 Arnonld 31 14 0 10,000
11 Joplin 22 13 0 73,728
12 St Charles 31 13 0 73,040
13 Neosho 22 13 0 12,157
14 Festus 20 13 0 12,054
15 Mexico 18 13 0 12,000
16 Maryville 20 13 0 10,775
17 Smithville 22 13 0 10,290
18 Elsberry 25 13 1 2,051
19 Garden City 21 13 0 1,590
20 Bridgeton 31 13 0 240
21 Springfield 22 12 0 172,025
22 Wentzville 24 12 0 41,784
23 Ft Leonard Wood 22 12 0 34,000
24 Kirksville 22 12 0 17,304
25 Hannibal 23 12 0 17,108
26 Poplar Bluff 19 12 0 17,043
27 High Ridge 21 12 0 16,548
28 Sikeston 26 12 0 16,291
29 Marshall 20 12 0 13,065
30 West Plains 18 12 0 12,000
31 Kearney 26 12 0 11,500
32 Higginsville 19 12 0 7,180
33 Savannah 20 12 0 5,868
34 Milan 17 12 0 4,327
35 Cosby 19 12 0 3,580
36 Boonville 19 12 0 2,451
37 Stanberry 17 12 0 2,290
38 Rushville 19 12 0 2,050
39 Sweet Springs 19 12 0 1,412
40 Waverly 20 12 0 800
41 Fenton 21 12 0 500
42 Malta Bend 20 12 0 200
43 Gentry 17 12 0 25
44 Annapolis 18 12 1 0
45 Green City 17 12 0 0
46 Alma 20 12 0 0
47 Mound City 16 12 0 0
48 Canton 19 12 2 0
49 Kansas City 22 11 0 513,800
50 Columbia 19 11 0 126,254
51 Independence 18 11 0 117,084
52 St Joseph 18 11 0 77,000
53 Cape Girardeau 24 11 0 39,941
54 Liberty 23 11 0 31,167
55 Gladstone 20 11 0 27,365
56 Grandview 18 11 0 24,500
57 Belton 22 11 0 23,598
58 Raytown 23 11 0 17,066
59 Kennett 21 11 0 10,500
60 Cameron 15 11 0 9,933
61 Odessa 18 11 0 8,250
62 Waldron 22 11 0 6,900
63 Peculiar 23 11 0 5,000
64 Herculaneum 19 11 0 4,227
65 Sibley 18 11 0 3,915
66 Queen City 24 11 0 3,482
67 Vandalia 17 11 0 3,140
68 Buckner 18 11 0 3,076
69 Portageville 17 11 0 3,074
70 Carrollton 15 11 0 3,063
71 Sugar Creek 18 11 0 2,500
72 Monroe City 17 11 0 2,443
73 Montrose 16 11 0 2,387
74 Weatherby Lake 22 11 0 2,077
75 Huntsville 17 11 0 1,563
76 Wheeling 15 11 0 1,350
77 Archie 16 11 0 1,300
78 Paris 17 11 0 1,250
79 Wellsville 16 11 0 1,210
80 Maysville 16 11 0 1,093
81 Edina 16 11 0 1,014
82 Unity Village 23 11 0 1,000
83 New London 17 11 0 975
84 Ferrelview 22 11 0 850
85 Clarence 18 11 0 813
86 Lancaster 23 11 0 728
87 La Belle 17 11 0 660
88 Lewistown 17 11 0 580
89 Madison 17 11 0 554
90 Dearborn 22 11 0 529
91 Rockville 17 11 0 500
92 Farber 16 11 0 450
93 Osborn 16 11 0 405
94 St Marys 15 11 0 360
95 Northmoor 22 11 0 328
96 Callao 18 11 0 311
97 Linneus 15 11 0 278
98 Curryville 16 11 0 255
99 Mayview 16 11 0 211
100 Emma 15 11 0 205
101 Birmingham 22 11 0 200
102 Graham 13 11 0 170
103 Westboro 13 11 0 141
104 Stoutsville 16 11 0 25
105 Ewing 18 11 0 0
106 Concordia 15 11 0 0
107 Camden Point 22 11 0 0
108 Appleton City 16 11 0 0
109 Oak Grove 18 11 0 0
110 Bogard 15 11 0 0
111 Laredo 15 11 0 0
112 Hamilton 18 11 0 0
113 Rolla 18 10 0 20,800
114 Moberly 19 10 0 13,783
115 Troy 17 10 0 12,500
116 Macon 18 10 0 11,606
117 Branson 20 10 0 11,416
118 Clinton 17 10 0 11,373
119 Excelsior Springs 19 10 0 11,084
120 St Joseph 17 10 0 10,600
121 Harrisonville 15 10 0 10,019
122 Monett 17 10 0 9,027
123 Lake Lotawana 15 10 0 9,002
124 Desloge 12 10 0 5,034
125 Lexington 13 10 0 4,729
126 Lathrop 16 10 0 4,518
127 No Kansas City 18 10 0 4,500
128 Bethany 14 10 0 3,740
129 Wright City 16 10 0 3,550
130 Pleasant Hill 13 10 0 2,875
131 Lawson 19 10 0 2,500
132 Chillicothe 13 10 0 2,215
133 Slater 15 10 0 1,856
134 Parkville 17 10 0 1,850
135 Weston 13 10 0 1,850
136 Memphis 15 10 0 1,822
137 Point Lookout 13 10 0 1,700
138 Purdin 15 10 0 1,620
139 Princeton 13 10 0 1,166
140 La Grange 18 10 2 1,102
141 Lake Waukomis 17 10 0 1,097
142 Lilbourn 14 10 0 1,018
143 Drexel 13 10 0 965
144 Jamesport 14 10 0 826
145 Bevier 18 10 0 762
146 Truesdale 17 10 0 732
147 Edgerton 16 10 0 503
148 Ridgeway 14 10 0 464
149 Gilman City 14 10 0 387
150 Altanta 16 10 0 385
151 Henrietta 13 10 0 356
152 Cainsville 14 10 0 290
153 Wyaconda 11 10 0 227
154 Coffey 14 10 0 166
155 York 17 10 0 135
156 Gilliam 16 10 0 125
157 Elmer 18 10 0 52
158 Bosworth 14 10 1 0
159 Plattsburg 16 10 0 0
160 Arcadia 14 10 0 0
161 Hume 17 10 0 0
162 Albany 12 10 0 0
163 Trimble 16 10 0 0
164 Maitland 12 10 0 0
165 Crystal City 17 10 0 0
166 Eagleville 14 10 0 0
167 Conception Jct 14 10 0 0
168 Chula 13 10 0 0
169 Sedalia 22 9 0 22,000
170 Raymore 14 9 0 19,767
171 Grain Valley 15 9 0 16,000
172 Eureka 14 9 0 11,000
173 Richmond 15 9 0 9,360
174 Park Hills 13 9 0 8,587
175 Perryville 17 9 0 8,555
176 Dexter 16 9 0 7,927
177 Scott City 13 9 0 4,565
178 Ste Genevieve 11 9 0 4,485
179 Freeman 16 9 0 4,143
180 Palmyra 14 9 0 3,595
181 Louisiana 15 9 0 3,364
182 Mercer 10 9 0 3,200
183 Morley 10 9 0 3,150
184 Marceline 13 9 0 2,650
185 Piedmont 12 9 0 2,620
186 Gallatin 9 9 0 2,448
187 Warsaw 13 9 0 2,236
188 Pattonsburg 12 9 0 2,103
189 Craig 13 9 0 2,000
190 Bernie 12 9 0 1,859
191 Shelbina 14 9 0 1,771
192 Salisbury 13 9 0 1,620
193 Rockport 12 9 0 1,318
194 New Franklin 12 9 0 1,089
195 Oregon 10 9 0 1,085
196 Brunswick 9 9 0 1,078
197 Marble Hill 11 9 0 862
198 Orrick 15 9 0 850
199 Van Buren 14 9 0 819
200 Russellville 12 9 0 800
201 Excelsior Spgs 15 9 0 750
202 Norborne 14 9 0 708
203 Southwest City 14 9 0 600
204 Polo 9 9 0 575
205 Parma 13 9 0 550
206 Wayland 11 9 0 533
207 Fisk 13 9 0 498
208 Meadville 14 9 0 476
209 Keytesville 13 9 0 476
210 Essex 11 9 0 423
211 Lesterville 12 9 0 400
212 East Lynne 12 9 0 350
213 Prtg De Sioux 12 9 0 345
214 Laclede 18 9 0 345
215 Frankford 13 9 0 323
216 Amazonia 12 9 0 312
217 Kingston 13 9 0 290
218 Brashear 11 9 0 288
219 New Hampton 9 9 0 283
220 De Kalb 9 9 0 250
221 Altamont 9 9 0 207
222 Blackwater 9 9 0 181
223 Elmo 11 9 0 169
224 Nelson 9 9 0 158
225 Miami 9 9 0 140
226 Rosendale 10 9 0 130
227 Tina 9 9 0 130
228 Jameson 9 9 0 121
229 Rock Port 12 9 0 25
230 Breckenridge 9 9 0 0
231 Tarkio 12 9 0 0
232 Arrow Rock 9 9 0 0
233 Eminence 12 9 0 0
234 Glasgow 13 9 0 0
235 Bolckow 13 9 0 0
236 Creighton 9 9 0 0
237 Holt 14 9 0 0
238 Bowling Green 12 9 0 0
239 Fillmore 12 9 0 0
240 Cleveland 15 9 0 0
241 Hale 9 9 0 0
242 Lake Sherwood 16 9 0 0
243 Hardin 15 9 0 0
244 Fairfax 12 9 0 0
245 Dawn 15 9 0 0
246 Kidder 9 9 0 0
247 Amoret 14 9 0 0
248 Amsterdam 14 9 0 0
249 Ashland 12 9 0 0
250 Fayette 12 9 0 0
251 Birch Tree 13 9 0 0
252 Lees Summit 13 8 0 99,400
253 Blue Springs 14 8 0 54,395
254 Warrensburg 16 8 0 20,473
255 Jackson 16 8 0 15,481
256 Lebanon 18 8 0 14,932
257 Winfield 17 8 0 14,000
258 Holden 15 8 0 11,652
259 Platte City 13 8 0 9,552
260 Warrenton 14 8 0 8,208
261 House Springs 17 8 0 7,500
262 Clarksdale 10 8 0 7,283
263 Kahoka 10 8 0 7,140
264 Perry 10 8 0 6,482
265 Brookfield 10 8 0 5,913
266 Philadelphia 10 8 0 4,900
267 Lamar 15 8 0 4,500
268 Trenton 15 8 0 3,900
269 Bonne Terre 13 8 0 3,537
270 New Madrid 11 8 0 3,113
271 Anniston 8 8 0 3,000
272 Unionville 9 8 0 2,997
273 Shelbyville 9 8 0 2,855
274 Montgomery City 13 8 0 2,811
275 Rich Hill 10 8 0 2,160
276 Rockaway Beach 12 8 0 1,839
277 Deepwater 11 8 0 1,800
278 Butler 8 8 0 1,613
279 Gower 10 8 0 1,525
280 Grant City 9 8 0 1,460
281 Advance 12 8 1 1,400
282 La Plata 13 8 0 1,366
283 Cottleville 11 8 0 1,200
284 Urich 9 8 0 1,140
285 King City 12 8 0 1,100
286 Humansville 13 8 0 1,048
287 Village Of Loch Lloyd 13 8 0 938
288 Lockwood 11 8 0 936
289 Morehouse 10 8 0 900
290 Sunrise Beach 13 8 0 812
291 Pilot Knob 12 8 0 746
292 Miller 9 8 0 699
293 New Bloomfield 13 8 0 669
294 Burlington Jct 12 8 0 630
295 Naylor 11 8 0 611
296 Vienna 11 8 0 591
297 Higbee 10 8 0 560
298 Novinger 10 8 0 550
299 Hopkins 14 8 0 550
300 Marston 13 8 0 500
301 Bucklin 10 8 0 467
302 Ravenwood 12 8 0 440
303 Union Star 9 8 0 437
304 Bull Creek 10 8 0 400
305 Wyatt 11 8 0 362
306 Mindenmines 12 8 0 340
307 Neelyville 10 8 0 310
308 Diggins 10 8 0 300
309 Browning 8 8 0 265
310 Easton 10 8 0 250
311 Skidmore 10 8 0 245
312 Theodosia 10 8 1 243
313 Sheridan 12 8 0 235
314 Blodgett 11 8 0 215
315 Mendon 10 8 0 207
316 Sedgewickville 11 8 0 197
317 Parnell 8 8 0 195
318 Glenwood 9 8 0 195
319 Hunnewell 9 8 0 184
320 Newtown 8 8 0 183
321 Mosby 9 8 0 119
322 Galt 9 8 0 98
323 Kirbyville 10 8 0 90
324 Calhoun 9 8 0 0
325 Bertrand 10 8 0 0
326 Clarkton 13 8 0 0
327 Blairstown 8 8 0 0
328 Green Castle 8 8 0 0
329 Deerfield 11 8 0 0
330 Osceola 11 8 0 0
331 Augusta 10 8 0 0
332 Barnard 10 8 0 0
333 Cross Timbers 11 8 0 0
334 Downing 10 8 0 0
335 Knox City 9 8 0 0
336 Braymer 9 8 0 0
337 Cowgill 13 8 0 0
338 Kingsville 15 8 0 0
339 Jamestown 12 8 0 0
340 Franklin 11 8 0 0
341 Spickard 9 8 0 0
342 Chilhowee 15 8 0 0
343 Clearmont 10 8 0 0
344 Farmington 18 7 0 18,217
345 Nevada 12 7 0 8,925
346 Hayti 11 7 0 6,042
347 Mount Vernon 9 7 0 4,575
348 Malden 13 7 0 3,706
349 Broseley 10 7 0 2,600
350 Gideon 14 7 0 2,200
351 Carterville 11 7 0 1,982
352 Adrian 12 7 0 1,635
353 Lampe 15 7 0 1,478
354 Marthasville 14 7 0 1,200
355 Miner 12 7 0 921
356 Pomona 9 7 0 850
357 Liberal 11 7 0 759
358 Matthews 10 7 0 628
359 Wardell 12 7 0 427
360 Schell City 12 7 0 250
361 Vanduser 12 7 0 168
362 East Prairie 11 7 0 0
363 Centerview 12 7 0 0
364 Charleston 14 7 0 0
365 Canalou 11 7 0 0
366 Chaffee 11 7 0 0
367 Mountain View 8 7 0 0
368 Houstonia 12 7 0 0
369 Bolivar 12 6 0 11,000
370 Whiteman AFB 12 6 0 10,707
371 Marshfield 10 6 0 7,425
372 Greenwood 8 6 0 5,705
373 Rogersville 11 6 0 3,213
374 Oronogo 10 6 0 2,500
375 Oak Ridge 12 6 0 2,500
376 Sparta 9 6 0 1,946
377 Sheldon 11 6 0 1,800
378 Linn 10 6 0 1,500
379 Leadwood 11 6 0 1,247
380 St Paul 10 6 0 1,218
381 Purdy 9 6 0 1,100
382 Exeter 9 6 0 772
383 Iberia 8 6 0 747
384 Strasburg 8 6 0 638
385 Hermitage 11 6 0 621
386 Pleasant Hope 11 6 0 614
387 Foristell 10 6 0 550
388 Laddonia 10 6 0 511
389 Gravois Mills 10 6 0 400
390 Tracy 6 6 0 330
391 Clark 10 6 0 300
392 Walker 10 6 0 283
393 Dudley 9 6 0 222
394 Koshkonong 10 6 0 212
395 Meta 7 6 0 210
396 Ironton 9 6 0 207
397 Belgrade 9 6 0 175
398 Morrison 11 6 0 140
399 Leopold 10 6 0 130
400 Kingdom City 9 6 0 128
401 Overland Park 10 6 0 100
402 Buffalo 9 6 0 48
403 High Hill 12 6 0 30
404 Hayti Heights 9 6 0 0
405 Diamond 9 6 0 0
406 Cassville 9 6 0 0
407 Ozark 15 5 0 22,000
408 Republic 14 5 0 16,100
409 Carthage 15 5 0 14,600
410 Fulton 13 5 0 13,080
411 Holts Summit 11 5 0 9,840
412 Battlefield 19 5 0 9,168
413 Aurora 15 5 0 8,529
414 Carl Junction 9 5 0 8,142
415 De Soto 10 5 0 8,000
416 Mapaville 12 5 0 6,100
417 Mountain Grove 9 5 0 4,789
418 Tipton 8 5 0 3,262
419 Owensville 8 5 0 2,800
420 Versailles 9 5 0 2,482
421 Jane 11 5 0 2,481
422 Thayer 6 5 0 2,243
423 Cabool 9 5 0 2,146
424 Mansfield 10 5 0 1,193
425 Jasper 9 5 0 932
426 Sturgeon 10 5 0 872
427 Wellington 6 5 0 812
428 Pineville 7 5 0 791
429 Wheaton 8 5 0 698
430 Kelso 8 5 0 586
431 Summersville 12 5 0 502
432 Delta 9 5 0 480
433 Fair Play 7 5 0 475
434 Otterville 8 5 0 450
435 Galena 10 5 0 450
436 Bell City 9 5 0 416
437 Frohna 9 5 0 350
438 Risco 9 5 0 278
439 Manhattan 11 5 0 250
440 Mineral Point 9 5 0 231
441 Stotts City 8 5 0 225
442 Bates City 6 5 0 225
443 Picher 6 5 0 115
444 South Greenfield 8 5 0 100
445 Levasy 5 5 0 82
446 Green Ridge 8 5 0 0
447 Noel 8 5 0 0
448 Collins 8 5 0 0
449 Altenburg 9 5 0 0
450 Clarksville 9 5 0 0
451 Bronaugh 10 5 0 0
452 Leeton 7 5 0 0
453 Windsor 8 4 0 2,900
454 Knob Noster 9 4 0 2,863
455 Potosi 11 4 0 2,650
456 Osage Beach 8 4 0 2,611
457 Steele 7 4 0 1,940
458 Bloomfield 8 4 0 1,933
459 Fredericktown 8 4 0 1,705
460 Highlandville 7 4 0 1,417
461 Oran 9 4 0 1,294
462 Reeds Spring 7 4 0 1,287
463 Laurie 9 4 0 990
464 Auxvasse 8 4 0 983
465 Puxico 7 4 0 881
466 Golden City 7 4 0 764
467 Irondale 8 4 0 594
468 Blue Eye 8 4 0 525
469 Purcell 4 4 0 432
470 Newburg 7 4 0 424
471 Niangua 6 4 0 411
472 Wheatland 7 4 0 371
473 Williamsville 5 4 0 342
474 St Thomas 8 4 0 260
475 Missouri City 4 4 0 254
476 Holland 7 4 0 230
477 Centerville 6 4 0 200
478 Kaiser 8 4 0 172
479 Belleview 6 4 0 140
480 Foley 6 4 0 70
481 Ionia 7 4 0 0
482 Centertown 9 4 0 0
483 Marquand 11 4 0 0
484 Bland 6 4 0 0
485 Prairie Home 11 4 0 0
486 Ellington 7 4 0 0
487 Ava 7 4 0 0
488 Pilot Grove 7 4 0 0
489 Washington 10 3 0 14,068
490 Union 6 3 0 12,348
491 Caruthersville 9 3 0 5,562
492 Pevely 9 3 0 5,400
493 St Robert 8 3 0 5,192
494 St Clair 8 3 0 4,700
495 Camdenton 5 3 0 3,960
496 Doniphan 6 3 0 2,650
497 Hermann 8 3 0 2,500
498 Stockton 9 3 0 1,892
499 Sarcoxie 6 3 0 1,539
500 Bismarck 6 3 0 1,470
501 California 6 3 0 1,425
502 Villa Ridge 8 3 0 1,300
503 Wappapello 6 3 0 1,200
504 Gainesville 6 3 0 742
505 Norwood 8 3 0 665
506 Hornersville 9 3 0 663
507 Wooldridge 7 3 0 562
508 Cedar Hill 7 3 0 490
509 Stark City 7 3 0 450
510 Weaubleau 7 3 0 418
511 Lanagan 7 3 0 417
512 Chadwick 5 3 0 325
513 Mokane 9 3 0 208
514 Silex 9 3 0 206
515 Irvine 4 3 0 113
516 Cape Fair 7 3 0 113
517 Waynesville 5 2 0 8,038
518 Sullivan 9 2 0 7,081
519 Hallsville 9 2 0 6,455
520 Pacific 8 2 0 6,000
521 Salem 8 2 0 4,935
522 Eldon 5 2 0 4,895
523 Centralia 6 2 0 4,625
524 Cuba 6 2 0 3,292
525 Pittsburg 5 2 0 3,084
526 Hillsboro 4 2 0 3,000
527 Houston 4 2 0 2,090
528 Seymour 3 2 0 1,943
529 Steelville 3 2 0 1,672
530 Greenfield 5 2 0 1,400
531 Winona 4 2 0 1,325
532 Seligman 5 2 0 890
533 Edgar Springs 4 2 0 800
534 Conway 4 2 0 788
535 Golden 6 2 0 484
536 Leasburg 3 2 0 353
537 Raymondville 3 2 0 341
538 Bourbon 5 2 0 214
539 Ridgedale 5 2 0 175
540 Catawissa 4 2 0 150
541 Flemington 5 2 0 124
542 Myrtle 4 2 0 120
543 Weldon Spring 6 2 0 100
544 Dittmer 4 2 0 100
545 Benton 3 2 0 72
546 Silva 5 2 0 45
547 Eagle Rock 5 2 0 40
548 Richdale 5 2 0 25
549 Macks Creek 5 2 0 0
550 Ellsinore 5 2 0 0
551 Grandin 5 2 0 0
552 Barnett 5 2 0 0
553 Cardwell 6 2 0 0
554 Granby 6 2 0 0
555 Climax Springs 5 2 0 0
556 Edwards 7 2 0 0
557 Nixa 8 1 0 24,532
558 Lake Ozark 8 1 0 5,613
559 Powersite 5 1 0 4,500
560 El Dorado Spgs 5 1 0 3,593
561 Senath 6 1 0 3,087
562 Licking 2 1 0 2,781
563 Forsyth 4 1 0 2,413
564 Willow Springs 6 1 0 2,254
565 Richland 3 1 0 1,863
566 Washburn 4 1 0 1,800
567 Dixon 5 1 0 1,500
568 Duenweg 5 1 0 1,469
569 Pierce City 5 1 0 1,200
570 Stover 6 1 0 1,200
571 Moscow Mills 5 1 0 897
572 Des Peres 5 1 0 800
573 Viburnum 6 1 0 800
574 Jonesburg 6 1 0 768
575 Westphalia 5 1 0 705
576 Stoutland 2 1 0 657
577 Hartville 3 1 0 655
578 Shell Knob 4 1 0 583
579 Smithton 5 1 0 563
580 Bloomsdale 3 1 0 562
581 Alba 5 1 0 555
582 Greenville 3 1 0 497
583 Bois D Arc 3 1 0 485
584 Branson West 4 1 0 484
585 Grovespring 3 1 0 483
586 St Elizabeth 4 1 0 435
587 Urbana 3 1 0 409
588 Everton 4 1 0 352
589 Bellflower 6 1 0 350
590 Martinsburg 5 1 0 304
591 Bakersfield 2 1 0 303
592 Roach 4 1 0 280
593 Dadeville 4 1 0 218
594 Asbury 5 1 0 207
595 Mill Spring 1 1 0 200
596 Rocky Mount 5 1 0 200
597 Linn Creek 2 1 0 190
598 Middletown 5 1 0 167
599 St Ann 4 1 0 154
600 Halfway 5 1 0 151
601 Lonedell 3 1 0 135
602 Caledonia 2 1 0 130
603 Steedman 5 1 0 113
604 Robertsville 2 1 0 110
605 Fair Grove 6 1 0 100
606 Brighton 2 1 0 87
607 Gravois Mill 3 1 0 75
608 Tecumseh 2 1 0 73
609 Burfordville 2 1 0 70
610 Verona 5 1 0 70
611 Ofallon 7 1 0 60
612 Goodman 4 1 0 51
613 Arcola 4 1 0 45
614 Reeds Springs 3 1 0 38
615 La Monte 6 1 0 30
616 Hawk Point 6 1 0 30
617 Stanton 2 1 0 28
618 Imperial 5 1 0 25
619 Belle 3 1 0 25
620 Rocky Comfort 4 1 0 0
621 Hughesville 5 1 0 0
622 Bunker 2 1 0 0
623 Anderson 4 1 0 0
624 Fremont 2 1 0 0
625 New Florence 5 1 0 0
626 Beaufort 6 1 0 0
627 Fairview 3 1 0 0
628 Clarksburg 5 1 0 0
629 Ash Grove 2 1 0 0
630 Cole Camp 4 1 0 0
631 Devils Elbo 2 1 0 0
632 Willard 3 0 0 8,312
633 Campbell 3 0 0 4,365
634 Roby 3 0 0 3,032
635 Seneca 4 0 0 2,390
636 Clever 3 0 0 2,139
637 Kimberling City 2 0 0 2,052
638 Taneyville 5 0 0 2,000
639 New Haven 3 0 0 2,000
640 Qulin 3 0 0 1,625
641 Hollister 2 0 0 1,275
642 Loose Creek 3 0 0 1,221
643 Crocker 2 0 0 1,093
644 Alton 2 0 0 1,000
645 Fordland 2 0 0 900
646 Walnut Grove 0 0 0 665
647 Holcomb 5 0 0 635
648 Butterfield 3 0 0 470
649 Morrisville 3 0 0 400
650 Chamois 3 0 0 396
651 Kissee Mills 3 0 0 370
652 West Sullivan 6 0 0 343
653 Walnut Shade 2 0 0 343
654 Chestnut Ridge 2 0 0 315
655 Gasconade 3 0 0 280
656 St James 3 0 0 200
657 Hurley 1 0 0 178
658 Syracuse 3 0 0 172
659 Rhineland 4 0 0 170
660 Freistatt 3 0 0 165
661 Stella 3 0 0 158
662 Tuscumbia 1 0 0 150
663 Strafford 2 0 0 125
664 Louisburg 3 0 0 122
665 Leslie 4 0 0 90
666 Mt Vernon 2 0 0 80
667 Lowry City 3 0 0 50
668 Spokane 3 0 0 50
669 Desoto 3 0 0 30
670 Labadie 4 0 0 30
671 Gerald 3 0 0 30
672 Billings 2 0 0 28
673 Preston 1 0 0 0
674 Bunceton 3 0 0 0
675 Lincoln 3 0 0 0
676 Eugene 2 0 0 0
677 Arbyrd 3 0 0 0
678 Berger 3 0 0 0
679 Fortuna 3 0 0 0
680 Bonnots Mill 3 0 0 0
681 Rosebud 4 0 0 0
682 Freeburg 5 0 0 0
683 Argyle 4 0 0 0
684 Crane 3 0 0 0
685 Laquey 4 0 0 0

Live in Missouri?

Get a free personalized water quality report for your address.

Check Your Water

Recommended Filtration for Missouri

Based on the most common contaminants found across Missouri (Total trihalomethanes (TTHMs), Chloroform, Bromodichloromethane), 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 Missouri 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 Missouri tap water safe to drink?

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

What city has the best water in Missouri?

Based on our analysis, Willard has the fewest contaminants above EWG health guidelines in Missouri, with 0 above guideline levels.

What city has the worst water in Missouri?

Based on our analysis, O Fallon has the most contaminants above EWG health guidelines in Missouri, with 16 above guideline levels.

What's the best water filter for Missouri residents?

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