Nitrate in North Carolina Drinking Water
Ranked by nitrate violation count · Data from EPA SDWIS & UCMR
Nitrate in North Carolina: what the data shows
North Carolina has 290 cities with nitrate-related violations. The EPA MCL for nitrate is 10 mg/L (measured as nitrogen). The state has 290 cities with at least one nitrate violation. Nitrate is the most common groundwater contaminant in the United States. It enters water supplies primarily through agricultural fertilizer runoff, septic system leaching, and animal feedlot operations. Rural and agricultural communities face the highest risk. The primary acute health concern is methemoglobinemia ("blue baby syndrome") in infants under six months. Emerging research also links chronic nitrate exposure to thyroid disease, certain cancers, and adverse birth outcomes. Reverse osmosis, ion exchange, and distillation can remove nitrate from drinking water — standard carbon filters do not.
Cities exceeding 10 mg/L EPA MCL
Nitrate data across North Carolina
Each dot is a city with nitrate violation data. Cities with at least one nitrate-related violation are highlighted. Size reflects population served.
Top 10 cities by nitrate level in North Carolina
Highest Nitrate levels (violations)
All North Carolina cities ranked by nitrate level
| # | City | Level | Level | Violations? | Violations | Grade |
|---|---|---|---|---|---|---|
| 1 | Gastonia | 343 violations | Yes | 102 | F | |
| 2 | Raleigh | 212 violations | Yes | 241 | F | |
| 3 | Durham | 154 violations | Yes | 94 | F | |
| 4 | Concord | 128 violations | Yes | 37 | F | |
| 5 | Mt Airy | 96 violations | Yes | 16 | D | |
| 6 | Knightdale | 89 violations | Yes | 208 | D | |
| 7 | Garner | 85 violations | Yes | 89 | F | |
| 8 | Chapel Hill | 82 violations | Yes | 66 | F | |
| 9 | Greensboro | 81 violations | Yes | 29 | F | |
| 10 | Statesville | 68 violations | Yes | 37 | F | |
| 11 | Reidsville | 65 violations | Yes | 36 | F | |
| 12 | Hickory | 64 violations | Yes | 11 | F | |
| 13 | Charlotte | 60 violations | Yes | 47 | F | |
| 14 | Salisbury | 59 violations | Yes | 27 | F | |
| 15 | Newton | 58 violations | Yes | 15 | F | |
| 16 | Banner Elk | 57 violations | Yes | 101 | D | |
| 17 | Conover | 53 violations | Yes | 6 | F | |
| 18 | Aberdeen | 45 violations | Yes | 54 | F | |
| 19 | Whitsett | 45 violations | Yes | 6 | D+ | |
| 20 | Dallas | 43 violations | Yes | 34 | F | |
| 21 | Kernersville | 40 violations | Yes | 13 | C- | |
| 22 | Mooresville | 39 violations | Yes | 22 | F | |
| 23 | Harrisburg | 39 violations | Yes | 28 | F | |
| 24 | Zebulon | 39 violations | Yes | 35 | D | |
| 25 | Franklin | 38 violations | Yes | 14 | F | |
| 26 | China Grove | 35 violations | Yes | 11 | F | |
| 27 | Stanley | 34 violations | Yes | 6 | F | |
| 28 | Boone | 30 violations | Yes | 33 | F | |
| 29 | Fayetteville | 29 violations | Yes | 392 | F | |
| 30 | Apex | 29 violations | Yes | 40 | F | |
| 31 | Fuquay-Varina | 29 violations | Yes | 34 | F | |
| 32 | Nashville | 29 violations | Yes | 36 | F | |
| 33 | West Jefferson | 28 violations | Yes | 8 | D+ | |
| 34 | Burlington | 26 violations | Yes | 33 | F | |
| 35 | Highlands | 26 violations | Yes | 25 | F | |
| 36 | Cullowhee | 25 violations | Yes | 13 | D | |
| 37 | Weaverville | 24 violations | Yes | 35 | F | |
| 38 | Cashiers | 24 violations | Yes | 74 | F | |
| 39 | Newport | 22 violations | Yes | 31 | F | |
| 40 | Morehead City | 21 violations | Yes | 17 | C | |
| 41 | Archdale | 21 violations | Yes | 30 | D+ | |
| 42 | Farmville | 21 violations | Yes | 0 | A- | |
| 43 | Wendell | 21 violations | Yes | 70 | D | |
| 44 | Brevard | 20 violations | Yes | 26 | F | |
| 45 | Spring Lake | 20 violations | Yes | 25 | D+ | |
| 46 | Willow Springs | 20 violations | Yes | 6 | D | |
| 47 | Middlesex | 20 violations | Yes | 12 | F | |
| 48 | Sherrills Ford | 19 violations | Yes | 3 | C+ | |
| 49 | Randleman | 19 violations | Yes | 26 | F | |
| 50 | Oak Ridge | 19 violations | Yes | 54 | D | |
| 51 | Belmont | 18 violations | Yes | 6 | D+ | |
| 52 | Henderson | 18 violations | Yes | 25 | F | |
| 53 | Wake Forest | 18 violations | Yes | 48 | F | |
| 54 | Madison | 18 violations | Yes | 19 | F | |
| 55 | Wilmington | 17 violations | Yes | 22 | F | |
| 56 | Black Mountain | 17 violations | Yes | 5 | D+ | |
| 57 | Stokesdale | 17 violations | Yes | 14 | D | |
| 58 | Liberty | 17 violations | Yes | 11 | C | |
| 59 | Walnut Cove | 17 violations | Yes | 10 | D | |
| 60 | East Bend | 17 violations | Yes | 28 | D+ | |
| 61 | Kinston | 16 violations | Yes | 4 | C- | |
| 62 | Cameron | 16 violations | Yes | 1 | D | |
| 63 | Clayton | 15 violations | Yes | 50 | D | |
| 64 | Hayesville | 15 violations | Yes | 5 | D | |
| 65 | Cleveland | 15 violations | Yes | 2 | D+ | |
| 66 | Greenville | 14 violations | Yes | 7 | C- | |
| 67 | Hendersonville | 14 violations | Yes | 36 | F | |
| 68 | Kannapolis | 14 violations | Yes | 16 | C- | |
| 69 | Asheboro | 14 violations | Yes | 8 | F | |
| 70 | Marion | 14 violations | Yes | 20 | F | |
| 71 | Mars Hill | 14 violations | Yes | 19 | B | |
| 72 | Columbus | 14 violations | Yes | 2 | D | |
| 73 | Sparta | 14 violations | Yes | 2 | B | |
| 74 | Hot Springs | 14 violations | Yes | 3 | C+ | |
| 75 | Graham | 14 violations | Yes | 11 | D | |
| 76 | Raeford | 13 violations | Yes | 16 | F | |
| 77 | Louisburg | 13 violations | Yes | 20 | C- | |
| 78 | Vass | 13 violations | Yes | 16 | C | |
| 79 | Lake Lure | 13 violations | Yes | 17 | F | |
| 80 | Robbinsville | 13 violations | Yes | 7 | C+ | |
| 81 | Roaring Gap | 13 violations | Yes | 7 | C+ | |
| 82 | Pinehurst | 12 violations | Yes | 5 | C- | |
| 83 | Elon | 12 violations | Yes | 7 | D+ | |
| 84 | Linville | 12 violations | Yes | 11 | F | |
| 85 | Andrews | 12 violations | Yes | 1 | B | |
| 86 | Mt Pleasant | 12 violations | Yes | 19 | D | |
| 87 | Spring Hope | 12 violations | Yes | 3 | C | |
| 88 | Rosman | 12 violations | Yes | 12 | F | |
| 89 | Holly Springs | 11 violations | Yes | 8 | C- | |
| 90 | Forest City | 11 violations | Yes | 1 | B- | |
| 91 | Mcadenville | 11 violations | Yes | 1 | B- | |
| 92 | Saxapahaw | 11 violations | Yes | 7 | C+ | |
| 93 | Nebo | 11 violations | Yes | 8 | F | |
| 94 | Asheville | 10 violations | Yes | 12 | F | |
| 95 | Lincolnton | 10 violations | Yes | 0 | D+ | |
| 96 | Elkin | 10 violations | Yes | 1 | B+ | |
| 97 | Newland | 10 violations | Yes | 4 | C+ | |
| 98 | Climax | 10 violations | Yes | 1 | C- | |
| 99 | Rutherfordton | 9 violations | Yes | 7 | B- | |
| 100 | Hillsborough | 9 violations | Yes | 9 | C- | |
| 101 | Carthage | 9 violations | Yes | 68 | D+ | |
| 102 | Troutman | 9 violations | Yes | 3 | B- | |
| 103 | Gibsonville | 9 violations | Yes | 12 | F | |
| 104 | Canton | 9 violations | Yes | 8 | C+ | |
| 105 | Selma | 9 violations | Yes | 7 | C- | |
| 106 | Bessemer City | 9 violations | Yes | 17 | D | |
| 107 | Spruce Pine | 9 violations | Yes | 3 | B- | |
| 108 | Maiden | 9 violations | Yes | 3 | B | |
| 109 | Hampstead | 9 violations | Yes | 24 | C | |
| 110 | Brown Summit | 9 violations | Yes | 0 | B | |
| 111 | Stovall | 9 violations | Yes | 30 | C | |
| 112 | Sanford | 8 violations | Yes | 31 | F | |
| 113 | Denver | 8 violations | Yes | 10 | C- | |
| 114 | Granite Falls | 8 violations | Yes | 4 | B+ | |
| 115 | Pittsboro | 8 violations | Yes | 110 | F | |
| 116 | Wallace | 8 violations | Yes | 4 | F | |
| 117 | Longview | 8 violations | Yes | 0 | A- | |
| 118 | Bryson City | 8 violations | Yes | 13 | D+ | |
| 119 | Summerfield | 8 violations | Yes | 17 | F | |
| 120 | Yanceyville | 8 violations | Yes | 33 | D | |
| 121 | Lenoir | 8 violations | Yes | 2 | B- | |
| 122 | Taylortown | 8 violations | Yes | 7 | B+ | |
| 123 | Fletcher | 8 violations | Yes | 2 | B- | |
| 124 | Micro | 8 violations | Yes | 15 | F | |
| 125 | East Arcadia | 8 violations | Yes | 5 | C | |
| 126 | Jacksonville | 7 violations | Yes | 22 | F | |
| 127 | Lawndale | 7 violations | Yes | 1 | B- | |
| 128 | Rocky Mount | 7 violations | Yes | 17 | C | |
| 129 | Mount Airy | 7 violations | Yes | 0 | B | |
| 130 | Beaufort | 7 violations | Yes | 34 | F | |
| 131 | Murphy | 7 violations | Yes | 6 | D | |
| 132 | River Bend | 7 violations | Yes | 1 | B+ | |
| 133 | Littleton | 7 violations | Yes | 17 | F | |
| 134 | Weldon | 7 violations | Yes | 7 | A- | |
| 135 | Clarkton | 7 violations | Yes | 0 | A- | |
| 136 | Parkton | 7 violations | Yes | 0 | B- | |
| 137 | Whittier | 7 violations | Yes | 1 | B+ | |
| 138 | Mocksville | 6 violations | Yes | 19 | C | |
| 139 | Waynesville | 6 violations | Yes | 5 | C+ | |
| 140 | Ahoskie | 6 violations | Yes | 1 | A- | |
| 141 | Tabor City | 6 violations | Yes | 0 | B | |
| 142 | Murfreesboro | 6 violations | Yes | 4 | B+ | |
| 143 | Claremont | 6 violations | Yes | 0 | B+ | |
| 144 | Blowing Rock | 6 violations | Yes | 7 | C | |
| 145 | Jefferson | 6 violations | Yes | 33 | D | |
| 146 | Faith | 6 violations | Yes | 1 | C | |
| 147 | High Shoals | 6 violations | Yes | 8 | A- | |
| 148 | Maine (T) | 6 violations | Yes | 7 | C | |
| 149 | Waxham | 6 violations | Yes | 2 | A | |
| 150 | Candler | 6 violations | Yes | 6 | C+ | |
| 151 | Goldsboro | 5 violations | Yes | 11 | F | |
| 152 | Franklinton | 5 violations | Yes | 40 | F | |
| 153 | Mt Holly | 5 violations | Yes | 1 | A- | |
| 154 | Cherokee | 5 violations | Yes | 6 | B- | |
| 155 | Corolla | 5 violations | Yes | 7 | B | |
| 156 | Surf City | 5 violations | Yes | 22 | C+ | |
| 157 | Ranlo | 5 violations | Yes | 5 | B | |
| 158 | Pine Level | 5 violations | Yes | 8 | D+ | |
| 159 | Beech Mountain | 5 violations | Yes | 9 | B+ | |
| 160 | Chadbourn | 5 violations | Yes | 1 | B+ | |
| 161 | Robbins | 5 violations | Yes | 20 | F | |
| 162 | Candor | 5 violations | Yes | 7 | D | |
| 163 | Sapphire | 5 violations | Yes | 1 | C- | |
| 164 | Brunswick | 5 violations | Yes | 1 | B+ | |
| 165 | Bailey | 5 violations | Yes | 1 | C- | |
| 166 | Cary | 4 violations | Yes | 9 | F | |
| 167 | Lexington | 4 violations | Yes | 14 | B- | |
| 168 | Kenansville | 4 violations | Yes | 2 | B | |
| 169 | Snow Hill | 4 violations | Yes | 2 | C+ | |
| 170 | Whiteville | 4 violations | Yes | 2 | C | |
| 171 | Oxford | 4 violations | Yes | 7 | B- | |
| 172 | Tryon | 4 violations | Yes | 3 | B | |
| 173 | Norwood | 4 violations | Yes | 32 | D | |
| 174 | Kure Beach | 4 violations | Yes | 4 | B+ | |
| 175 | Burnsville | 4 violations | Yes | 5 | B | |
| 176 | Stokes | 4 violations | Yes | 4 | C+ | |
| 177 | Dobson | 4 violations | Yes | 1 | B | |
| 178 | Chocowinity | 4 violations | Yes | 1 | A- | |
| 179 | Old Fort | 4 violations | Yes | 2 | C | |
| 180 | Kittrell | 4 violations | Yes | 1 | B- | |
| 181 | Stantonsburg | 4 violations | Yes | 1 | A- | |
| 182 | Greenevers | 4 violations | Yes | 2 | A- | |
| 183 | Pinetops | 4 violations | Yes | 1 | B | |
| 184 | Lucama | 4 violations | Yes | 0 | B | |
| 185 | Seaboard | 4 violations | Yes | 4 | B+ | |
| 186 | Fair Bluff | 4 violations | Yes | 2 | B+ | |
| 187 | Huntersville | 4 violations | Yes | 1 | A | |
| 188 | Bakersville | 4 violations | Yes | 3 | B- | |
| 189 | Fleetwood | 4 violations | Yes | 1 | B | |
| 190 | Clemmons | 3 violations | Yes | 0 | A- | |
| 191 | Oak Island | 3 violations | Yes | 1 | B | |
| 192 | Elizabethtown | 3 violations | Yes | 1 | B+ | |
| 193 | Edenton | 3 violations | Yes | 31 | D+ | |
| 194 | Mt Gilead | 3 violations | Yes | 18 | F | |
| 195 | Bellarthur | 3 violations | Yes | 3 | B- | |
| 196 | Winterville | 3 violations | Yes | 1 | B- | |
| 197 | Cherryville | 3 violations | Yes | 7 | C | |
| 198 | Yadkinville | 3 violations | Yes | 2 | B- | |
| 199 | Columbia | 3 violations | Yes | 9 | B | |
| 200 | Lake Gaston | 3 violations | Yes | 13 | B- | |
| 201 | Oakboro | 3 violations | Yes | 18 | B+ | |
| 202 | Ramseur | 3 violations | Yes | 38 | D+ | |
| 203 | Elm City | 3 violations | Yes | 14 | D | |
| 204 | Marble | 3 violations | Yes | 4 | C+ | |
| 205 | Pink Hill | 3 violations | Yes | 4 | B+ | |
| 206 | Pikeville | 3 violations | Yes | 0 | A- | |
| 207 | Conway | 3 violations | Yes | 2 | A- | |
| 208 | Pollocksville | 3 violations | Yes | 1 | B+ | |
| 209 | Harrellsville | 3 violations | Yes | 1 | A- | |
| 210 | Bolton | 3 violations | Yes | 1 | B | |
| 211 | Micaville | 3 violations | Yes | 1 | A- | |
| 212 | Leland | 2 violations | Yes | 11 | C | |
| 213 | High Point | 2 violations | Yes | 2 | B- | |
| 214 | Wilson Mills | 2 violations | Yes | 3 | B- | |
| 215 | Morganton | 2 violations | Yes | 2 | B+ | |
| 216 | Burgaw | 2 violations | Yes | 21 | F | |
| 217 | Lumberton | 2 violations | Yes | 2 | B | |
| 218 | King | 2 violations | Yes | 12 | B+ | |
| 219 | Laurinburg | 2 violations | Yes | 0 | C | |
| 220 | Clinton | 2 violations | Yes | 3 | B+ | |
| 221 | Hiddenite | 2 violations | Yes | 3 | A- | |
| 222 | N Wilkesboro | 2 violations | Yes | 4 | B+ | |
| 223 | Windsor | 2 violations | Yes | 7 | A- | |
| 224 | Hertford | 2 violations | Yes | 7 | D+ | |
| 225 | Denton | 2 violations | Yes | 22 | C- | |
| 226 | Roxboro | 2 violations | Yes | 9 | A- | |
| 227 | Maggie Valley | 2 violations | Yes | 2 | B- | |
| 228 | Topsail Beach | 2 violations | Yes | 9 | C | |
| 229 | Jackson | 2 violations | Yes | 4 | D | |
| 230 | Red Springs | 2 violations | Yes | 1 | B+ | |
| 231 | Ellenboro | 2 violations | Yes | 5 | C- | |
| 232 | Bald Head Island | 2 violations | Yes | 3 | B+ | |
| 233 | Scotland Neck | 2 violations | Yes | 44 | B- | |
| 234 | Richlands | 2 violations | Yes | 3 | B+ | |
| 235 | Saint Pauls | 2 violations | Yes | 0 | A- | |
| 236 | Garysburg | 2 violations | Yes | 11 | C+ | |
| 237 | Boonville | 2 violations | Yes | 2 | C+ | |
| 238 | Saluda | 2 violations | Yes | 0 | B | |
| 239 | Enfield | 2 violations | Yes | 45 | B | |
| 240 | Faison | 2 violations | Yes | 1 | B- | |
| 241 | Beulaville | 2 violations | Yes | 0 | A | |
| 242 | Garland | 2 violations | Yes | 1 | A- | |
| 243 | Maysville | 2 violations | Yes | 1 | B+ | |
| 244 | Rich Square | 2 violations | Yes | 1 | A- | |
| 245 | Wagram | 2 violations | Yes | 4 | C+ | |
| 246 | Bostic | 2 violations | Yes | 2 | B+ | |
| 247 | Newton Grove | 2 violations | Yes | 0 | A- | |
| 248 | Montreat | 2 violations | Yes | 2 | B+ | |
| 249 | Falcon | 2 violations | Yes | 0 | B+ | |
| 250 | Calypso | 2 violations | Yes | 1 | B | |
| 251 | Lillington | 1 violations | Yes | 4 | B- | |
| 252 | Maxton | 1 violations | Yes | 12 | C | |
| 253 | Mebane | 1 violations | Yes | 10 | B+ | |
| 254 | Roanoke Rapids | 1 violations | Yes | 17 | B | |
| 255 | Rockingham | 1 violations | Yes | 15 | C | |
| 256 | Eden | 1 violations | Yes | 10 | C | |
| 257 | Pinebluff | 1 violations | Yes | 32 | D+ | |
| 258 | Albemarle | 1 violations | Yes | 46 | C- | |
| 259 | Cherry Point | 1 violations | Yes | 3 | A- | |
| 260 | Deep Run | 1 violations | Yes | 0 | B+ | |
| 261 | Williamston | 1 violations | Yes | 4 | C- | |
| 262 | Bridgeton | 1 violations | Yes | 2 | B+ | |
| 263 | Locust | 1 violations | Yes | 24 | B | |
| 264 | Efland | 1 violations | Yes | 10 | F | |
| 265 | Trenton | 1 violations | Yes | 0 | B+ | |
| 266 | Siler City | 1 violations | Yes | 29 | B | |
| 267 | Atlantic Beach | 1 violations | Yes | 5 | B+ | |
| 268 | Wadesboro | 1 violations | Yes | 24 | B- | |
| 269 | Boiling Springs | 1 violations | Yes | 2 | A- | |
| 270 | Warsaw | 1 violations | Yes | 6 | B | |
| 271 | Plymouth | 1 violations | Yes | 8 | B+ | |
| 272 | Lagrange | 1 violations | Yes | 2 | A- | |
| 273 | Mayodan | 1 violations | Yes | 1 | B+ | |
| 274 | Linden | 1 violations | Yes | 2 | B | |
| 275 | Rodanthe | 1 violations | Yes | 0 | A- | |
| 276 | Pilot Mtn | 1 violations | Yes | 2 | B | |
| 277 | Belhaven | 1 violations | Yes | 0 | A | |
| 278 | Rose Hill | 1 violations | Yes | 0 | A- | |
| 279 | Stedman | 1 violations | Yes | 2 | B+ | |
| 280 | Black Creek | 1 violations | Yes | 0 | A- | |
| 281 | Foxfire Village | 1 violations | Yes | 29 | C | |
| 282 | Harrells | 1 violations | Yes | 1 | A- | |
| 283 | Salemburg | 1 violations | Yes | 0 | A- | |
| 284 | Marshall | 1 violations | Yes | 8 | B | |
| 285 | Rowland | 1 violations | Yes | 2 | B+ | |
| 286 | Princeton | 1 violations | Yes | 13 | F | |
| 287 | Goldston | 1 violations | Yes | 45 | C | |
| 288 | Aurora | 1 violations | Yes | 11 | B+ | |
| 289 | Bent Creek | 1 violations | Yes | 0 | A | |
| 290 | Ogden | 1 violations | Yes | 0 | A |
Frequently asked questions about nitrate in North Carolina
Is nitrate in North Carolina tap water dangerous?
Yes — 290 cities in North Carolina have nitrate-related violations. The EPA MCL is 10 mg/L. Nitrate is especially dangerous for infants under six months, where it can cause methemoglobinemia ("blue baby syndrome"). Adults face lower acute risk, but chronic exposure is linked to thyroid disease and certain cancers.
How can I remove nitrate from my drinking water?
Reverse osmosis, ion exchange, and distillation are effective at removing nitrate. Standard carbon filters (including most pitcher and faucet-mount filters) do NOT remove nitrate. If you rely on a private well in an agricultural area, have your water tested annually for nitrate.
What causes high nitrate levels in North Carolina water?
Nitrate contamination comes primarily from agricultural fertilizer runoff, septic system leaching, and animal feedlot operations. Rural communities near intensive farming are most at risk. Shallow wells are particularly vulnerable. Heavy rainfall can spike nitrate levels as it washes fertilizer into groundwater and surface water supplies.