Skip to content
Well & TapHome Water Treatment Database

PFAS in North Carolina drinking water

EPA's final UCMR 5 data covers 291 public water systems in North Carolina, serving about 8.9 million people. PFAS turned up in 146 of them (50%). 76 averaged above at least one EPA limit at a sampling point, affecting about 2.7 million people.

Highest PFOA and PFOS averages among systems serving 1,000 or more: Town of Nashville (5.8 / 345 ppt), Brookwood Comm Wtr System (26.6 / 25.1 ppt), Cliffdale West (16.1 / 17.4 ppt), Robeson County Water System (26.0 / 5.8 ppt) and City of Greensboro (3.7 / 27.4 ppt).

Every tested system in North Carolina

Largest first. PFOA and PFOS columns show the average at each system's worst sampling point; EPA's limit for each is 4 ppt. Filter by name:

Water system People PFOA PFOS PFAS found Result
Charlotte Water · Charlotte 1,163,701 - - 2 Below limits
City of Raleigh · Raleigh 650,000 - 2.7 5 Sample at limit
City of Winston-salem · Pfafftown 391,900 - - 0 None found
City of Durham · Durham 333,490 1.0 5.2 4 Above limit
City of Greensboro · Greensboro 319,588 3.7 27.4 9 Above limit
Town of Cary · Cary 227,300 - - 4 Below limits
Fayetteville Public Works Comm · Fayetteville 226,441 8.5 16.9 9 Above limit
Cfpua-wilmington · Wilmington 212,227 - - 1 Below limits
Union County Water System · Monroe 169,685 1.1 2.2 5 Sample at limit
City of Asheville · Asheville 157,431 - - 0 None found
Onslow Wtr and Sewer Authority · Jacksonville 156,755 - - 0 None found
Davidson Water INC · Welcome 154,307 - - 0 None found
Brunswick County Water System · Bolivia 151,357 5.0 9.2 9 Above limit
Harnett Regional Water · Lillington 121,885 6.4 9.2 7 Above limit
City of Concord · Concord 120,548 - 8.3 2 Above limit
City of High Point · High Point 118,662 1.1 5.0 6 Above limit
Greenville Utilities Comm · Greenville 103,140 3.3 2.6 6 Sample at limit
Johnston Co-west · Smithfield 99,027 5.6 10.2 8 Above limit
Two Rivers Utilities · Gastonia 96,714 - - 0 None found
Orange Water & Sewer Authority · Carrboro 86,500 1.1 1.2 2 Sample at limit
Town of Apex · Apex 83,001 - - 4 Below limits
City of Hendersonville · Hendersonville 79,278 - - 0 None found
City of Hickory · Hickory 71,393 - - 0 None found
Robeson County Water System · Lumberton 67,970 26.0 5.8 10 Above limit
Old North Utilities Services/ft Bragg · Fort Bragg 65,000 7.4 11.5 8 Above limit
City of Burlington · Burlington 61,365 8.4 9.0 7 Above limit
Cleveland County Water · Shelby 59,395 - - 0 None found
City of Kannapolis · Kannapolis 56,050 - 4.7 1 Above limit
City of Rocky Mount · Rocky Mount 55,891 5.2 4.9 2 Above limit
Town of Mooresville · Mooresville 52,509 - - 0 None found
Town of Holly Springs · Holly Springs 51,947 5.3 9.6 8 Above limit
City of Wilson · Wilson 50,332 - - 0 None found
Lincoln County Wtp · Denver 49,693 5.3 - 4 Above limit
City of Jacksonville · Jacksonville 49,093 - - 0 None found
City of Sanford · Sanford 48,350 6.8 12.1 8 Above limit
Salisbury-rowan · Salisbury 46,156 - - 0 None found
Brunswick Regional Water & Sewer H2Go · Leland 45,748 - - 0 None found
City of Monroe · Monroe 43,081 - - 2 Below limits
Town of Fuquay-varina · Fuquay-varina 42,954 8.4 8.8 9 Above limit
Wayne Water Districts · Goldsboro 39,403 - - 1 Below limits
City of New Bern · New Bern 37,884 - - 0 None found
Craven County Water System · New Bern 37,848 - - 0 None found
Usmc Lejeune--hadnot Point · Camp Lejeune 37,500 - - 0 None found
Hoke CO Regional Water System · Raeford 36,640 - 2.4 3 Sample at limit
City of Goldsboro · Goldsboro 34,959 5.2 6.1 6 Above limit
Pender County Utilities · Burgaw 32,302 - - 4 Below limits
Davie County Water System · Mocksville 31,543 - - 0 None found
Moore CO Public Util-pinehurst · Carthage 31,390 4.4 6.5 8 Above limit
Town of Clayton · Clayton 30,876 4.2 4.4 5 Above limit
City of Statesville · Statesville 30,843 - - 0 None found
Dare County Water System · Kill Devil Hills 28,732 - - 0 None found
City of Asheboro · Asheboro 27,819 2.6 4.1 8 Above limit
City of Kinston · Kinston 27,475 2.3 7.5 7 Above limit
City of Thomasville · Thomasville 27,287 - 3.3 1 Sample at limit
City of Morganton · Morganton 27,221 - - 0 None found
Iredell Water Corporation · Statesville 27,173 13.6 4.7 8 Above limit
Town of Oak Island · Oak Island 26,924 3.5 5.8 9 Above limit
Franklin County Water & Sewer · Youngsville 26,060 - 1.5 1 Sample at limit
City of Lenoir · Lenoir 25,573 - - 0 None found
Johnston Co-east · Smithfield 25,212 4.5 6.4 8 Above limit
City of Lumberton · Lumberton 24,460 5.2 4.8 4 Above limit
Currituck County Water System · Maple 24,130 - - 0 None found
Town of Southern Pines · Pinebluff 24,102 - - 0 None found
City of Shelby · Shelby 23,600 - - 0 None found
City of King · King 23,370 - - 0 None found
Chatham Co-north · Sanford 23,088 - - 2 Below limits
Eastern Pines Water Corp · Greenville 23,000 5.0 9.4 7 Above limit
Richmond County Water System · Rockingham 22,578 - 3.4 5 Sample at limit
Beaufort CO Northside Regional Water · Washington 22,405 - - 0 None found
Town of Forest City · Forest City 21,521 - - 0 None found
Energy United Water Corp · Hiddenite 21,148 - - 0 None found
Town of Harrisburg · Harrisburg 20,549 - 8.7 5 Above limit
Halifax Co--halifax · Halifax 20,250 - 3.3 1 Sample at limit
City of Mebane · Mebane 20,212 4.3 4.4 5 Above limit
Town of Boone · Boone 19,811 - - 1 Below limits
Town of Waynesville · Waynesville 19,758 - - 0 None found
Pamlico County Water · Bayboro 19,665 - - 0 None found
City of Lexington Nc · Lexington 19,632 - - 0 None found
West Carteret Water Corp · Newport 19,512 - - 0 None found
City of Mount Holly · Mount Holly 19,200 - - 0 None found
City of Elizabeth City · Elizabeth City 19,187 - - 0 None found
Town of Morehead City · Morehead City 18,846 - - 0 None found
South Granville Wtr&sewer Authority · Butner 18,555 6.0 10.5 2 Above limit
Duplin County Water System · Kenansville 18,542 - - 0 None found
City of Newton Nc · Newton 18,407 - - 1 Below limits
City of Albemarle · Albemarle 18,396 - 1.1 3 Sample at limit
City of Graham · Graham 18,354 5.2 5.4 5 Above limit
City of Laurinburg · Laurinburg 18,288 - - 0 None found
Broad River Water Authority · Rutherfordton 18,242 - - 1 Below limits
City of Belmont · Belmont 17,477 - - 2 Below limits
Marine Corps Air Station Cherry Point · Cherry Point 17,144 - - 0 None found
Usmc Lejeune--holcomb Blvd · Camp Lejeune 17,000 - - 0 None found
Bayleaf Master · Cary 16,715 9.9 15.8 9 Above limit
City of Lincolnton · Lincolnton 16,309 5.6 - 4 Above limit
Wayne Water Districts Purchase · Goldsboro 16,302 2.3 3.7 4 Sample at limit
Roanoke Rapids Sanitary Dist · Roanoke Rapids 15,630 - 3.7 1 Sample at limit
City of Eden · Eden 15,500 - - 0 None found
North Lenoir Water Corp · Kinston 15,494 4.2 6.8 7 Above limit
Brookwood Comm Wtr System · Cary 15,380 26.6 25.1 8 Above limit
Montgomery County Water System · Mt Gilead 15,362 - 1.1 2 Sample at limit
City of Conover · Conover 15,347 - - 0 None found
Cliffdale West · Cary 15,220 16.1 17.4 7 Above limit
Henderson-kerr Lake Reg Wtr · Henderson 14,937 - 2.2 1 Sample at limit
Havelock Water System · Havelock 14,925 - - 0 None found
Town of Kings Mountain · Kings Mountain 14,784 - - 2 Below limits
City of Reidsville · Reidsville 14,585 - 1.0 1 Sample at limit
Edgecombe Water & Sewer District · Tarboro 14,485 1.5 3.1 2 Sample at limit
Bladen CO Wtr Dist-west Bladen · Elizabethtown 14,408 - - 0 None found
Deep Run Water Corporation · Deep Run 14,196 6.3 10.9 7 Above limit
Town of Hillsborough · Hillsborough 14,006 - - 0 None found
Anson County Water System · Wadesboro 13,880 1.0 1.4 4 Sample at limit
Bertie County Regional Water · Windsor 13,736 - - 0 None found
Town of Valdese · Valdese 13,571 - - 0 None found
Hoke CO Regional--rockfish · Raeford 13,378 6.3 11.8 8 Above limit
Town of Angier · Angier 13,302 7.5 10.8 8 Above limit
Warren County Water System · Warrenton 13,230 - 3.8 1 Sample at limit
Pasquotank CO Ro Water System · Elizabeth City 13,187 - - 0 None found
City of Roxboro · Roxboro 13,139 - 1.1 1 Sample at limit
Alexander CO Wtr Dist · Hickory 13,064 - - 0 None found
City of Washington · Washington 13,000 - - 0 None found
Town of Smithfield Nc · Smithfield 12,900 4.7 7.7 6 Above limit
Sampson CO Wtr Dist Ii · Clinton 12,895 - - 0 None found
City of Archdale · Archdale 12,700 4.9 8.2 8 Above limit
West Wilkes Wtr Association INC · Millers Creek 12,573 - - 1 Below limits
City of Rockingham · Rockingham 12,510 2.1 3.2 5 Sample at limit
Town of Aberdeen · Aberdeen 12,473 4.7 8.4 6 Above limit
City of Dunn · Dunn 12,442 8.9 12.7 8 Above limit
Perquimans County Water System · Hertford 12,320 - - 0 None found
Town of Spring Lake · Spring Lake 11,725 6.2 11.6 8 Above limit
Chowan CO Water System · Edenton 11,722 - - 0 None found
Flowers Plantation · Cary 11,643 6.8 7.9 8 Above limit
Gates County Water System · Gatesville 11,621 - - 0 None found
The Cape Master System · Cary 11,587 - - 2 Below limits
Usmc Lejeune--new River Air St · Camp Lejeune 11,500 - - 0 None found
Bell Arthur Water Corp · Bell Arthur 11,483 1.5 7.5 7 Above limit
Town of Elon · Elon 11,350 2.3 6.2 3 Above limit
City of Brevard · Brevard 11,336 - - 0 None found
Appalachian State Univ Wtp · Boone 11,150 - - 0 None found
City of Clinton · Clinton 11,145 - - 0 None found
Greene CO Regional Water Syst · Snow Hill 11,026 - 1.1 1 Sample at limit
Town of Tarboro · Tarboro 10,844 3.3 1.7 3 Sample at limit
Pasquotank County Water System · Elizabeth City 10,653 - - 0 None found
Hamlet Water System · Hamlet 10,635 1.4 5.3 3 Above limit
Town of Winterville · Winterville 10,462 2.4 2.8 5 Sample at limit
Columbus CO Water District Ii · Whiteville 10,442 - - 0 None found
City of Mount Airy · Mount Airy 10,314 - - 0 None found
Woodfin Sanitary Water and Sewer · Asheville 10,122 - - 0 None found
Stanly Co-west Stanly Dist · Albemarle 9,939 - 2.6 3 Sample at limit
Town of Surf City · Surf City 9,730 - - 0 None found
South Camden Wtr & Swr Distrct · Camden 9,717 - - 0 None found
Town of Franklin · Franklin 9,650 - - 0 None found
Maggie Valley Sanitary Dist · Maggie Valley 9,629 - - 0 None found
Fork Township Sanitary District · Goldsboro 9,572 - - 0 None found
Town of Troutman · Troutman 9,562 - - 0 None found
Handy Sanitary District · Denton 9,548 - 1.0 4 Sample at limit
Beaufort CO Southside · Washington 9,369 - - 0 None found
City of Marion · Marion 9,362 - - 0 None found
East Moore Water District · Carthage 9,330 6.8 10.5 8 Above limit
Orange-alamance Water System · Mebane 9,223 8.1 10.0 5 Above limit
City of Oxford · Oxford 8,972 - 1.3 2 Sample at limit
Town of Gibsonville · Gibsonville 8,920 - 6.6 2 Above limit
Town of Farmville · Farmville 8,887 2.5 3.0 5 Sample at limit
Jones County Water System · Pollocksville 8,860 - - 0 None found
Caldwell County Water--west · Lenoir 8,763 - - 0 None found
Town of Siler City · Sanford 8,520 3.4 7.1 4 Above limit
Blue Ridge Water Association · Hays 8,486 - - 1 Below limits
Town of Weaverville · Weaverville 8,359 - - 0 None found
Town of Dallas · Dallas 8,212 1.1 - 6 Sample at limit
Southern Outer Banks Wtr Syst · Corolla 8,209 - - 1 Below limits
Mulberry-fairplains Wtr Assoc · N Wilkesboro 8,150 - - 0 None found
Eastover Sanitary District · Eastover 8,150 7.5 11.9 8 Above limit
Hertford County Rural Water · Winton 7,970 - - 0 None found
Town of Ocean Isle Beach · Ocean Isle Beach 7,925 6.2 12.1 9 Above limit
Baton Water Corporation · Granite Falls 7,874 - - 0 None found
Town of Canton · Canton 7,850 - - 0 None found
Icard Township Water Corp · Hildebran 7,821 - - 0 None found
Western Carolina Univ Wtp · Cullowhee 7,800 - - 0 None found
Southern Wayne Sanitary Dist · Goldboro 7,793 - - 2 Below limits
Central Nash Water & Sewer · Nashville 7,675 5.1 7.1 3 Above limit
Town of Williamston · Williamston 7,650 - 3.5 1 Sample at limit
Tuckaseigee Water & Sewer Auth · Sylva 7,528 - - 0 None found
Town of Granite Falls · Granite Falls 7,318 - - 0 None found
Town of Kill Devil Hills · Kill Devil Hills 7,200 - - 0 None found
Seymour Johnson Afb · Seymour Johnson 6,875 3.8 6.8 6 Above limit
Carolina Beach Water System · Carolina Beach 6,864 - - 0 None found
City of Raeford · Raeford 6,718 - - 0 None found
Town of Pittsboro · Sanford 6,708 - - 3 Below limits
Washington County Water System · Plymouth 6,693 - - 0 None found
Town of Highlands · Highlands 6,614 - - 0 None found
Town of Jamestown · Jamestown 6,543 2.5 7.8 8 Above limit
Town of Atlantic Beach · Atlantic Beach 6,380 - - 0 None found
Town of Ayden · Ayden 6,366 2.7 9.0 7 Above limit
City of Cherryville · Cherryville 6,353 - - 0 None found
First Craven Sanitary District · Bridgeton 6,325 - - 0 None found
Town of Holden Beach · Holden Beach 6,299 5.0 10.1 7 Above limit
Town of Mocksville · Mocksville 6,200 - - 1 Below limits
Town of Selma · Selma 6,190 - 10.4 7 Above limit
Brentwood Water Association · Glen Alpine 6,038 - - 0 None found
Brentwood-jamestown Road · Glen Alpine 6,035 - - 0 None found
Town of Nashville · Nashville 5,900 5.8 345 6 Above limit
Lake Royale S/d · Des Peres 5,890 - 2.2 1 Sample at limit
Town of Wallace · Wallace 5,825 - - 0 None found
Town of White Lake · White Lake 5,770 - - 0 None found
City of Bessemer City · Bessemer City 5,730 4.9 - 6 Above limit
Wilson CO Southwest Water Dist · Wilson 5,730 - - 0 None found
Northampton--milwaukee · Jackson 5,715 - - 0 None found
Town of Spruce Pine · Spruce Pine 5,661 - - 0 None found
Town of Wadesboro · Wadesboro 5,608 - 3.7 4 Sample at limit
Town of Maiden · Maiden 5,563 3.0 - 1 Sample at limit
Town of Sawmills · Granite Falls 5,524 - - 0 None found
Fairfield Harbour · Charlotte 5,514 - - 0 None found
Town of Edenton · Edenton 5,500 - - 0 None found
Town of Tryon · Tryon 5,494 - - 0 None found
Dare Co-cape Hatteras Water · Kill Devil Hills 5,486 - - 0 None found
Kure Beach Water System · Kure Beach 5,484 - - 0 None found
Town of Ahoskie · Ahoskie 5,479 - - 0 None found
Town of Stanley · Stanley 5,453 - - 0 None found
Newport Water System · Newport 5,453 - 7.4 1 Above limit
City of Whiteville · Whiteville 5,426 - - 0 None found
Town of Elizabethtown · Elizabethtown 5,311 - - 1 Below limits
Wrightsville Beach Water · Wilmington 5,300 - - 1 Below limits
Hyde County Water System · Swan Quarter 5,256 - - 0 None found
Town of Longview · Longview 5,244 - - 0 None found
Junaluska Sanitary District · Clyde 5,138 - - 0 None found
Bogue Banks Water Corporation · Emerald Isle 4,995 - - 0 None found
Town of China Grove · Salisbury 4,895 - 2.1 3 Sample at limit
Town of Benson · Benson 4,802 7.4 11.9 8 Above limit
Pine Knoll Shores · Pine Knoll Shores 4,800 - - 0 None found
Town of Boiling Springs · Boiling Springs 4,769 - - 0 None found
Chinquapin Water Association · Chinquapin 4,686 - - 0 None found
City of Randleman · Randleman 4,631 7.8 9.6 8 Above limit
Smithfield Fresh Meats Corp - Tar Heel · Tarheel 4,589 2.4 4.2 7 Above limit
Carolina Trace Water System · Charlotte 4,516 7.8 12.3 8 Above limit
Pfeiffer-n Stanly Water Assoc · Richfield 4,513 - 2.7 3 Sample at limit
Town of Ranlo · Gastonia 4,511 - - 0 None found
Town of Murphy · Murphy 4,498 - - 0 None found
Town of Beaufort · Beaufort 4,452 - - 0 None found
Town of Red Springs · Red Springs 4,423 - - 0 None found
Town of Bryson City · Bryson City 4,395 - - 0 None found
Wilson CO Southeast Water Dist · Wilson 4,388 - - 0 None found
Town of Norwood · Norwood 4,323 - 3.3 2 Sample at limit
Bladen CO Wtr Dist-east Bladen · Elizabethtown 4,310 - - 1 Sample at limit
Town of Carthage · Carthage 4,307 - - 0 None found
Town of North Wilkesboro · N. Wilkesboro 4,265 - - 0 None found
Town of Mount Olive · Mount Olive 4,261 - - 0 None found
Town of Burgaw · Burgaw 4,250 - - 0 None found
Town of Yadkinville · Yadkinville 4,196 - - 1 Below limits
Whispering Pines Development · Charlotte 4,178 - - 0 None found
Town of Elkin · Elkin 4,076 - - 0 None found
Town of Burnsville · Burnsville 4,069 - - 0 None found
Northampton--lake Gaston · Jackson 3,984 - 4.3 1 Above limit
Town of Wingate · Wingate 3,950 - 2.2 4 Sample at limit
Harbour Point S/d · Charlotte 3,909 - - 4 Below limits
Lillington Water System · Lillington 3,847 7.2 10.6 8 Above limit
City of Lowell · Lowell 3,837 - - 0 None found
Bragg Communities/nta · Fort Bragg 3,733 8.1 11.3 8 Above limit
Town of Wilkesboro · Wilkesboro 3,687 - - 0 None found
Town of Murfreesboro · Murfreesboro 3,645 - - 0 None found
Town of Troy · Troy 3,591 - 3.5 3 Sample at limit
Broadway Water Association · N Wilkesboro 3,556 - - 0 None found
Connestee Falls · Charlotte 3,532 - - 0 None found
Stokes Regional Water Corp · Stokes 3,530 3.8 2.8 5 Sample at limit
Moravian Falls Water System · Moravian Falls 3,455 - - 0 None found
Lamplighter South-danby · Charlotte 3,297 - 2.7 6 Sample at limit
Plymouth Water System · Plymouth 3,243 - - 0 None found
Town of Grifton · Grifton 2,982 4.3 9.7 7 Above limit
Town of Maxton · Maxton 2,598 - - 0 None found
Town of Stokesdale · Stokesdale 2,252 - - 0 None found
Town of Old Fort · Old Fort 1,700 - - 1 Below limits
Town of Blowing Rock · Blowing Rock 1,637 - - 0 None found
Town of Littleton · Littleton 1,540 1.0 5.3 2 Above limit
Diamond Head S/d · Cary 1,433 2.3 - 5 Sample at limit
Town of Faison · Faison 1,410 - - 0 None found
Grassy Pond Water Corporation · Gaffney 1,303 12.5 15.0 7 Above limit
Town of Fremont · Freemont 1,265 - - 0 None found
Town of Clarkton · Clarkton 1,233 - - 0 None found
Southern Middle School · Greensboro 875 4.8 - 4 Above limit
High Vista Estates · Charlotte 775 - - 0 None found
Town of Bolton · Bolton 668 - - 0 None found
Selma, Town of (county Line) · Selma 642 5.4 6.2 6 Above limit
Bethel Elementary School · Waynesville 550 - - 0 None found
Shangri-la S/d · Cary 170 - - 0 None found
Farm Water Works · Sanford 167 - 2.1 2 Sample at limit
Southgate S/d · Cary 160 5.9 6.5 6 Above limit
Copper Trace S/d · Cary 69 - - 0 None found
Childrens Choice Childcare · Summerfield 60 - - 0 None found
Pinewood Acres Water System · Cary 48 - - 0 None found
Meadow Lake S/d · Apex 42 - - 1 Below limits
West Iredell Water Corporation - - 1 Below limits
City of Southport - - 0 None found
Cfpua/monterey Heights - - 2 Below limits

On a private well in North Carolina?

EPA's program only covers public systems. Private wells are never part of UCMR 5, so the only way to know is to test. Our well testing guide covers which lab tests to order, and the best well water systems covers what to install once you have results.

Cite this page

Well & Tap. "PFAS in North Carolina drinking water: results for 291 systems." Data: U.S. EPA UCMR 5, final release August 2026. https://wellandtap.com/pfas/north-carolina/

Source: EPA UCMR 5 final occurrence data (August 2026); population from EPA SDWIS. Method.