North Carolina Water Quality Report (2026)

By Echo Water Research Team 17 min read
North Carolina Water Quality Report (2026)

North Carolina Tap Water Quality Report

476 cities analyzed • 8,282,725 people served

Updated March 2026 • Data from EWG & EPA SDWIS

476
Cities Analyzed
8.5
Avg Above Guidelines
8,282,725
Total Population Served
Best Water Quality
Fairmont (0 above guidelines)
Most Concerns
Wilmington (22 above guidelines)

Most Common Contaminants in North Carolina

Contaminant Found In % of Cities
Total trihalomethanes (TTHMs) carcinogen 393 of 476 83%
Haloacetic acids (HAA5) carcinogen 379 of 476 80%
Chloroform carcinogen 376 of 476 79%
Bromodichloromethane carcinogen 372 of 476 78%
Dichloroacetic acid carcinogen 366 of 476 77%
Trichloroacetic acid carcinogen 342 of 476 72%
Dibromochloromethane carcinogen 327 of 476 69%
Fluoride 251 of 476 53%
Manganese 246 of 476 52%
Monochloroacetic acid 207 of 476 43%

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 Wilmington 37 22 1 180,516
2 Lillington 35 21 1 109,415
3 Holly Springs 35 21 2 45,058
4 Angier 35 21 2 8,468
5 Coats 35 21 1 2,831
6 Linden 35 21 1 2,077
7 Wrightsville Beach 38 20 1 5,300
8 Carthage 33 19 0 29,509
9 Bolivia 33 18 2 152,030
10 Oak Island 33 18 1 23,896
11 Ocean Isle Beach 33 18 2 7,925
12 City Of Southport 33 18 2 6,447
13 Holden Beach 33 18 2 6,358
14 Fuquay-varina 27 17 2 39,065
15 Goldsboro 31 17 1 34,959
16 Burgaw 31 17 0 30,506
17 Rockingham 30 17 0 22,021
18 Dunn 30 17 2 12,088
19 Bell Arthur 31 17 0 10,635
20 Seymour Johnson 31 17 1 6,875
21 Ellerbe 31 17 0 1,640
22 Falcon 30 17 2 714
23 Pfafftown 27 16 0 374,403
24 Greensboro 32 16 2 318,057
25 Fayetteville 30 16 3 214,137
26 Fort Liberty 26 16 2 65,000
27 Bald Head Island 33 16 1 3,291
28 Tabor City 33 16 0 3,277
29 Stokesdale 27 16 0 2,268
30 Stedman 30 16 3 1,506
31 Gaffney 27 16 2 1,257
32 Danbury 28 16 0 420
33 Welcome 27 15 0 163,586
34 Smithfield 28 15 1 70,549
35 Sanford 30 15 2 47,302
36 Mocksville 26 15 0 29,947
37 Kinston 32 15 1 27,475
38 Asheboro 26 15 2 27,191
39 Clayton 30 15 2 25,444
40 Pittsboro 27 15 0 22,948
41 Deep Run 30 15 1 13,332
42 Selma 26 15 2 12,900
43 Elon 27 15 2 11,350
44 Winterville 28 15 0 10,462
45 Stokes 29 15 0 3,327
46 Grifton 27 15 1 2,982
47 Four Oaks 28 15 1 2,776
48 Broadway 30 15 2 1,783
49 Goldston 30 15 2 1,285
50 Greenville 28 14 0 103,140
51 Carrboro 20 14 2 86,300
52 Apex 28 14 0 70,272
53 Lumberton 33 14 0 65,303
54 Burlington 25 14 2 59,287
55 Thomasville 24 14 0 27,485
56 Archdale 24 14 2 12,700
57 Gibsonville 26 14 2 8,920
58 Farmville 28 14 0 8,458
59 Ayden 27 14 0 6,366
60 Elm City 25 14 0 1,450
61 Alamance 26 14 2 1,100
62 Evergreen 33 14 0 165
63 Whitsett 25 14 2 89
64 Raleigh 25 13 0 620,000
65 Cary 27 13 0 212,000
66 Monroe 22 13 0 145,019
67 Mebane 23 13 2 18,579
68 Graham 23 13 2 18,057
69 Hamlet 22 13 2 10,289
70 Warrenton 19 13 0 9,654
71 Nashville 27 13 2 5,881
72 Wingate 22 13 0 3,950
73 Haw River 25 13 2 2,450
74 Sharpsburg 27 13 2 1,945
75 Whitakers 27 13 2 869
76 Wade 17 13 0 835
77 High Point 29 12 1 116,270
78 Concord 21 12 1 112,212
79 Rocky Mount 27 12 2 55,047
80 Wilson 25 12 0 50,001
81 Kannapolis 21 12 1 48,893
82 Salisbury 18 12 0 48,394
83 Leland 19 12 0 45,748
84 Camp Lejeune 18 12 0 37,500
85 Morganton 17 12 0 26,576
86 Raeford 22 12 0 24,899
87 Kill Devil Hills 18 12 0 22,766
88 Lexington 21 12 0 19,200
89 Elizabeth City 22 12 0 19,187
90 Butner 19 12 2 17,232
91 Roanoke Rapids 24 12 0 16,615
92 Eden 17 12 0 15,023
93 Henderson 19 12 0 14,998
94 Mt Gilead 22 12 0 14,710
95 Reidsville 21 12 0 14,087
96 Tarboro 18 12 0 12,845
97 Edenton 16 12 0 10,762
98 Oxford 20 12 0 8,721
99 Siler City 19 12 1 8,474
100 Glen Alpine 17 12 0 5,362
101 Maiden 22 12 0 5,275
102 Benson 19 12 2 4,259
103 Troy 22 12 0 3,591
104 Landis 21 12 1 3,200
105 Nags Head 18 12 0 3,125
106 Manteo 18 12 0 2,638
107 Pine Level 17 12 0 2,413
108 Kenly 24 12 0 2,301
109 Walnut Cove 15 12 0 2,210
110 Robbins 22 12 0 1,579
111 Littleton 19 12 1 1,540
112 Mt. Gilead 22 12 0 1,463
113 Princeton 24 12 0 1,326
114 Pink Hill 26 12 1 950
115 Star 22 12 0 933
116 Candor 22 12 0 875
117 Grover 21 12 0 694
118 Peachland 26 12 1 423
119 Shallotte 19 12 2 302
120 Biscoe 22 12 0 0
121 Drexel 17 12 0 0
122 Mooresville 22 11 0 47,531
123 New Bern 19 11 0 36,830
124 Statesville 22 11 0 28,844
125 Washington 13 11 0 22,467
126 Bayboro 17 11 0 19,665
127 Harrisburg 16 11 0 19,439
128 Laurinburg 16 11 0 18,288
129 Albemarle 21 11 1 17,368
130 Wadesboro 25 11 1 13,880
131 Kings Mountain 20 11 0 13,484
132 Lincolnton 26 11 0 12,453
133 Millers Creek 16 11 0 12,202
134 Roxboro 17 11 0 10,832
135 Mount Airy 18 11 0 10,314
136 Black Mountain 22 11 0 10,125
137 Williamston 15 11 0 7,650
138 Stanley 18 11 0 5,453
139 Long View 20 11 0 5,244
140 Richfield 22 11 1 4,316
141 Marshville 25 11 1 3,163
142 Pilot Mountain 21 11 0 1,976
143 Weldon 16 11 1 1,402
144 Norlina 16 11 0 1,108
145 Lilesville 25 11 1 900
146 Pikeville 20 11 0 896
147 Polkton 25 11 1 838
148 Morven 25 11 1 512
149 Cove City 19 11 0 440
150 Sims 13 11 1 440
151 Barium Spring 23 11 0 244
152 Ansonville 25 11 1 0
153 Salemburg 13 11 0 0
154 Charlotte 19 10 0 1,122,276
155 Durham 23 10 1 321,414
156 Gastonia 17 10 0 91,491
157 Hickory 20 10 0 65,707
158 Denver 20 10 0 46,139
159 Pinebluff 15 10 0 25,382
160 Forest City 19 10 0 21,366
161 Halifax 16 10 0 20,250
162 Kenansville 19 10 0 18,542
163 Mount Holly 16 10 0 17,780
164 Rutherfordton 18 10 0 17,093
165 Conover 20 10 0 15,540
166 Hillsborough 16 10 0 15,238
167 Havelock 14 10 0 14,550
168 Windsor 23 10 0 12,893
169 Carolina Beach 21 10 0 12,294
170 Elizabethtown 21 10 0 12,014
171 Spring Lake 13 10 0 11,725
172 Gatesville 14 10 0 11,621
173 Snow Hill 12 10 0 10,183
174 Denton 16 10 0 7,899
175 Dallas 17 10 0 7,422
176 Jamestown 16 10 1 6,543
177 Ahoskie 17 10 0 5,479
178 Swan Quarter 13 10 0 5,256
179 Kure Beach 12 10 0 5,110
180 Emerald Isle 13 10 0 4,995
181 Des Peres 13 10 0 4,849
182 Norwood 15 10 1 4,229
183 Lowell 18 10 0 3,725
184 Oakboro 15 10 0 3,173
185 Scotland Neck 16 10 0 2,761
186 Maxton 11 10 1 2,353
187 Ellenboro 20 10 0 2,258
188 Mt. Pleasant 16 10 0 2,194
189 Bostic 20 10 0 1,867
190 Freemont 20 10 0 1,265
191 Wagram 13 10 2 965
192 High Shoals 20 10 0 729
193 Inman 18 10 0 671
194 Mcadenville 17 10 0 470
195 Maury 12 10 0 468
196 Robersonville 13 10 0 419
197 Chesnee 13 10 0 330
198 Godwin 14 10 0 275
199 Glen Allen 11 10 1 178
200 Bessemer City 21 10 1 0
201 Asheville 17 9 0 156,720
202 Jacksonville 22 9 0 144,155
203 Lawndale 17 9 0 56,596
204 King 18 9 0 23,198
205 Lenoir 16 9 0 23,192
206 Shelby 14 9 0 21,826
207 Cherry Point 11 9 0 17,144
208 Belmont 15 9 0 15,010
209 Hiddenite 13 9 0 13,445
210 Clinton 13 9 0 12,459
211 252-426-4034 15 9 0 11,314
212 White Lake 12 9 0 5,862
213 Wallace 12 9 0 5,825
214 Boiling Springs 15 9 0 4,769
215 Louisburg 13 9 0 3,341
216 Topsail Beach 13 9 0 3,198
217 Columbia 12 9 0 3,177
218 Lagrange 10 9 0 3,167
219 River Bend 10 9 0 2,846
220 Hertford 15 9 0 2,145
221 Hayesville 10 9 0 1,870
222 Faison 10 9 0 1,410
223 Stoneville 15 9 0 1,308
224 Rich Square 10 9 0 1,067
225 Ronda 14 9 0 938
226 Pollocksville 12 9 0 858
227 Harrellsville 12 9 0 843
228 Aurora 14 9 1 805
229 Woodland 10 9 0 767
230 Teachey 12 9 0 663
231 Riegel Wood 12 9 0 609
232 Cornelius 11 9 0 561
233 Parkton 12 9 0 487
234 Powellsville 10 9 0 482
235 Stovall 11 9 0 450
236 Riegelwood 12 9 0 422
237 Farmington Hills 12 9 0 254
238 Walstonburg 12 9 0 240
239 Clemmons 11 9 0 187
240 Mountain Home 9 9 0 124
241 Castle Hayne 10 9 0 86
242 Boonville 11 9 0 0
243 Newton Grove 13 9 0 0
244 Autryville 10 9 0 0
245 Marshall 10 9 0 0
246 Randleman 17 8 2 367,681
247 Youngsville 10 8 0 24,612
248 Boone 15 8 0 19,667
249 Newton 15 8 0 17,592
250 Maple 11 8 0 17,430
251 Valdese 18 8 0 13,571
252 Aberdeen 14 8 0 12,241
253 Weaverville 9 8 0 8,145
254 Winton 11 8 0 7,970
255 Cullowhee 9 8 0 7,800
256 Whiteville 12 8 0 7,663
257 Cherryville 11 8 0 6,353
258 Jackson 10 8 0 5,715
259 Chinquapin 10 8 0 4,686
260 Elkin 12 8 0 4,018
261 Wilkesboro 10 8 0 3,705
262 Moravian Falls 11 8 0 3,455
263 Warsaw 10 8 0 3,151
264 New London 13 8 0 2,743
265 Liberty 16 8 1 2,655
266 Corolla 10 8 0 2,600
267 Lake Waccamaw 10 8 0 2,469
268 Enfield 10 8 0 2,319
269 Rutherford College 18 8 0 2,083
270 Sparta 11 8 0 1,900
271 Saluda 16 8 0 1,808
272 Aulander 9 8 0 1,438
273 Stantonsburg 11 8 0 1,275
274 Bunn 11 8 0 915
275 Lucama 11 8 0 881
276 Cleveland 8 8 0 872
277 Fallston 17 8 0 732
278 Wentworth 13 8 0 715
279 Bolton 10 8 0 681
280 Hobgood 10 8 0 665
281 Stanfield 9 8 0 643
282 Seaboard 10 8 0 495
283 Creswell 11 8 0 482
284 Dublin 10 8 0 447
285 Jamesville 10 8 0 440
286 Fountain 12 8 0 427
287 Hamilton 9 8 0 408
288 Grimesland 10 8 0 332
289 Marietra 10 8 0 48
290 Calypso 9 8 0 0
291 Hendersonville 15 7 0 78,298
292 Waynesville 11 7 0 19,758
293 Newport 11 7 0 19,512
294 Brevard 8 7 0 10,686
295 Maggie Valley 8 7 0 9,527
296 Trenton 13 7 0 8,999
297 N Wilkesboro 12 7 0 8,150
298 Goldboro 13 7 0 7,793
299 Sylva 8 7 0 7,503
300 Granite Falls 10 7 0 7,318
301 Plymouth 10 7 0 6,693
302 Highlands 10 7 0 6,614
303 Bridgeton 9 7 0 6,325
304 Spruce Pine 10 7 0 5,661
305 Tryon 8 7 0 5,476
306 Lake Junaluska 11 7 0 4,613
307 Red Springs 8 7 0 4,493
308 N. Wilkesboro 12 7 0 4,245
309 Taylorsville 9 7 0 3,265
310 Clyde 9 7 0 3,264
311 Mars Hill 7 7 0 3,150
312 South Mills 7 7 0 3,048
313 Ramseur 10 7 0 2,893
314 Pembroke 9 7 0 2,839
315 Chocowinity 11 7 0 2,565
316 Mayodan 11 7 0 2,418
317 Chadbourn 9 7 0 2,370
318 Jonesville 12 7 0 2,360
319 Richlands 8 7 0 2,052
320 Rose Hill 10 7 0 1,867
321 Vanceboro 8 7 0 1,864
322 Bladenboro 8 7 0 1,648
323 Clarkton 8 7 0 1,500
324 Franklinville 10 7 0 1,400
325 Beulaville 9 7 0 1,326
326 West Jefferson 11 7 0 1,305
327 Oriental 9 7 0 1,136
328 Maysville 8 7 0 1,100
329 Magnolia 10 7 0 980
330 Rhodhiss 8 7 0 867
331 Cliffside 10 7 0 721
332 Garland 9 7 0 625
333 Gibson 7 7 0 589
334 Roper 11 7 0 546
335 Swansboro 8 7 0 425
336 Pisgah Forest 15 7 0 288
337 Yadkinville 12 7 0 277
338 Pineville 9 7 0 200
339 Moyock 11 7 0 122
340 Willard 11 7 0 120
341 Robbinsville 9 7 0 117
342 Hampstead 11 7 0 101
343 Fort Mill 9 7 0 100
344 Dillsboro 8 7 0 37
345 Burnsville 8 7 0 0
346 Beech Mountain 9 7 0 0
347 Harrells 9 7 0 0
348 Atlantic Beach 10 7 0 0
349 Bryson City 9 7 0 0
350 Surf City 8 6 0 9,730
351 Marion 9 6 0 9,362
352 Troutman 8 6 0 7,223
353 Hildebran 7 6 0 5,207
354 Pine Knoll Shores 8 6 0 4,656
355 Mount Olive 7 6 0 4,190
356 Murfreesboro 8 6 0 3,645
357 St. Pauls 6 6 0 2,438
358 Belhaven 8 6 0 1,960
359 Blowing Rock 12 6 0 1,637
360 Franklinton 8 6 0 1,042
361 Newland 9 6 0 999
362 Jefferson 10 6 0 653
363 Macclesfield 8 6 0 494
364 Hubert 7 6 0 470
365 Whittier 7 6 0 302
366 Connelly Springs 7 6 0 239
367 Greer 7 6 0 30
368 La Grange 17 6 1 0
369 Ocracoke 6 6 0 0
370 Sea Level 7 6 0 0
371 Hays 8 6 0 0
372 Dobson 9 6 0 0
373 Fontana Dam 6 6 0 0
374 Morehead City 6 5 0 9,420
375 Beaufort 6 5 0 4,452
376 Faith 8 5 0 1,291
377 Virginia Beach 5 5 0 559
378 Cameron 7 5 0 490
379 Hookerton 6 5 0 409
380 Camden 4 4 0 5,717
381 Old Fort 9 4 0 1,700
382 Banner Elk 7 4 0 1,407
383 Pinetops 6 4 0 1,312
384 Saxapahaw 8 4 0 994
385 Rosman 5 4 0 724
386 Micro 8 4 0 444
387 Eastover 4 4 0 305
388 Barco 6 4 0 300
389 Chapel Hill 4 4 0 255
390 Glendale 5 4 0 226
391 Lugoff 5 4 0 91
392 Middlesex 8 4 0 80
393 Columbus 5 4 0 0
394 Linville 3 3 0 2,280
395 Elk Park 5 3 0 495
396 Mulberry 6 3 0 432
397 Seven Devils 6 3 0 400
398 Zebulon 5 3 0 332
399 Wendell 6 3 0 285
400 Pleasant Garden 4 3 0 265
401 Knightdale 3 3 0 232
402 Barnardsville 4 3 0 147
403 Englewood 6 3 0 135
404 East Bend 5 3 0 97
405 Crystal Bay 4 3 0 61
406 Hot Springs 4 3 0 59
407 Bakersville 7 3 0 0
408 Creedmoor 4 3 0 0
409 Rowland 4 2 0 1,341
410 Lake Lure 3 2 0 1,176
411 Ridgecrest 4 2 0 950
412 Garner 3 2 0 755
413 Milton 4 2 0 212
414 Claremont 4 2 0 185
415 Rtp 3 2 0 162
416 Willow Springs 3 2 0 120
417 Seneca 3 2 0 104
418 Sapphire 3 2 0 81
419 Dunwoody 5 2 0 72
420 Climax 2 2 0 72
421 Todd 2 2 0 70
422 Browns Summit 2 2 0 70
423 Ft Mill 3 2 0 64
424 Black Creek 4 2 0 0
425 Spring Hope 1 1 0 1,307
426 Marble 4 1 0 999
427 Conetoe 3 1 0 990
428 Fletcher 3 1 0 965
429 Conway 3 1 0 887
430 Waxhaw 3 1 0 790
431 Roaring Gap 2 1 0 470
432 Birmingham 4 1 0 331
433 Kernersville 1 1 0 279
434 Jonas Ridge 1 1 0 270
435 Madison 2 1 0 250
436 Crossnore 3 1 0 195
437 Yanceyville 2 1 0 180
438 Maitland 2 1 0 165
439 Novato 1 1 0 138
440 Sophia 1 1 0 119
441 Etowah 2 1 0 75
442 Tampa 2 1 0 74
443 Mt Airy 2 1 0 71
444 San Diego 3 1 0 65
445 Mt Holly 2 1 0 58
446 Monteray 1 1 0 56
447 Patterson 1 1 0 50
448 Horseshoe 1 1 0 25
449 Fairmont 2 0 0 2,837
450 Montreat 1 0 0 798
451 Lake Santeetlah 0 0 0 498
452 Snow Hiil 2 0 0 447
453 Cofield 1 0 0 417
454 Nebo 2 0 0 343
455 Severn 2 0 0 325
456 Canton 1 0 0 300
457 Little Switzerland 1 0 0 300
458 Franklin 2 0 0 270
459 Arden 1 0 0 234
460 Lansing 1 0 0 228
461 Candler 2 0 0 210
462 Davidson 2 0 0 203
463 Oak Ridge 1 0 0 178
464 Bailey 0 0 0 123
465 Cashiers 0 0 0 122
466 Penland 0 0 0 100
467 Mooresboro 0 0 0 96
468 Pilot Mtn 0 0 0 94
469 Blacksburg 1 0 0 67
470 Andrews 0 0 0 53
471 Murphy 2 0 0 53
472 Atlanta 1 0 0 51
473 Westfield 0 0 0 39
474 Lake Toxaway 1 0 0 38
475 Boomer 0 0 0 33
476 Almond 0 0 0 0

Live in North Carolina?

Get a free personalized water quality report for your address.

Check Your Water

Recommended Filtration for North Carolina

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

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

What city has the best water in North Carolina?

Based on our analysis, Fairmont has the fewest contaminants above EWG health guidelines in North Carolina, with 0 above guideline levels.

What city has the worst water in North Carolina?

Based on our analysis, Wilmington has the most contaminants above EWG health guidelines in North Carolina, with 22 above guideline levels.

What's the best water filter for North Carolina residents?

For most North Carolina 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.