North Carolina Water Hardness by County

Water in North Carolina has a median hardness of 27 mg/L as CaCO₃ — "soft" on the USGS scale — based on 79,363 measurements at 6,311 monitoring stations. Pamlico County has the state's hardest measured water (470 mg/L); Transylvania County the softest (5). Rank: #44 of the 50 states and D.C.

North Carolina water hardness map — what the numbers mean. Data verified 2026-07-22.

Of North Carolina's 99 measured counties, 7 very hard, 2 hard, 4 moderately hard, and 86 soft. The hardest are Pamlico County (470 mg/L), Beaufort County (310), and Hyde County (305). Transylvania County is the softest at 5 mg/L (soft).

About 6% of North Carolina's roughly 10.6 million residents in counties with gate-passing hardness data live where tap water is hard or worse.

Statewide, North Carolina's median works out to 1.6 grains per gallon and ranks #44 of the 50 states and D.C. Across 79,363 measurements at 6,311 stations — 14,418 of them since 2000 — the middle 80% of readings fall between 9 and 94 mg/L. The public record runs from 1909 to 2026.

See where North Carolina sits nationally on the national map, or what its number means on the hardness scale.

Download the North Carolina water hardness map (PNG) — Water hardness by county in North Carolina: 99 counties mapped from USGS/EPA data, statewide median 27 mg/L (soft); darker counties have harder water.

By county

Water hardness by county

The table lists all 99 measured North Carolina counties, hardest first. Their medians span 470 mg/L in Pamlico County to 5 in Transylvania County — a 94× range. 1 more North Carolina county lacks gate-passing data.

County water hardness, hardest first — median mg/L as CaCO₃.
CountyMedianBandResultsSitesNewest
Pamlico County470Very hard328682022
Beaufort County310Very hard2,7202882025
Hyde County305Very hard190922013
Currituck County240Very hard71482014
Carteret County231Very hard1,434782025
Tyrrell County190Very hard614922025
Dare County180Very hard164672012
New Hanover County170Hard1,0312212025
Onslow County126.5Hard1,181912025
Vance County100Moderately hard167202025
Perquimans County96Moderately hard273382014
Camden County88Moderately hard141462017
Pasquotank County78Moderately hard351732025
Martin County58Soft6454112022
Chowan County55Soft6002762025
Mecklenburg County55Soft2,7821872025
Cabarrus County53Soft536192025
Jones County53Soft736272025
Guilford County49Soft1,5371212025
Randolph County48Soft780452025
Union County45Soft482262025
Davidson County43Soft1,287392025
Alamance County42Soft1,238392025
Forsyth County37Soft403172025
Duplin County36.5Soft577752025
Craven County36Soft2,8063432025
Granville County36Soft690532024
Stanly County36Soft1,340252025
Rowan County35Soft874322025
Person County34.6Soft594422024
Washington County34Soft538812024
Pitt County33Soft2,0061592025
Chatham County32.2Soft2,747752025
Brunswick County32Soft2,1501762025
Durham County31Soft2,7171022025
Lee County31Soft434552025
Caswell County30.5Soft338192024
Bertie County30Soft948492025
Northampton County30Soft733312025
Pender County30Soft995672025
Halifax County29Soft300402013
Wake County29Soft2,2321362025
Warren County29Soft202432025
Greene County28.8Soft1,3581402025
Orange County28.7Soft1,6081002023
Gates County28Soft257292025
Johnston County28Soft1,0631082024
Anson County27.7Soft428462025
Sampson County26Soft6521072025
Franklin County25.8Soft477452025
Edgecombe County25Soft1,056672025
Harnett County25Soft609342025
Lenoir County25Soft882562025
Gaston County24Soft1,059462025
Hertford County24Soft769562025
Lincoln County23Soft449582025
Rockingham County23Soft1,210592025
Surry County23Soft274132025
Nash County22Soft280352025
Wilson County22Soft322452022
Columbus County21Soft731612025
Wayne County21Soft9721242022
Bladen County20Soft1,343732025
Montgomery County20Soft550382025
Watauga County20Soft571262025
Ashe County19Soft498192025
Richmond County19Soft793482025
Iredell County18Soft526442025
Stokes County17.8Soft334152025
Alleghany County16Soft333152025
Cumberland County16Soft513362025
Davie County16Soft40582010
Madison County16Soft651202025
Mitchell County16Soft338132025
Moore County16Soft790502025
Rutherford County15Soft566202025
Cleveland County14Soft862292025
Yadkin County14Soft10942014
Buncombe County13Soft1,290632025
Catawba County13Soft784342025
Robeson County13Soft1,181842026
Alexander County12Soft20392025
Burke County12Soft1,038412025
McDowell County12Soft554212025
Wilkes County12Soft608222025
Polk County11.5Soft7392014
Caldwell County11Soft373102025
Cherokee County10Soft373192025
Graham County9Soft172182024
Avery County8Soft38092025
Haywood County8Soft1,632462025
Henderson County8Soft497272025
Hoke County7Soft333192025
Macon County7Soft729302025
Jackson County6Soft192162024
Scotland County6Soft487332025
Swain County6Soft553292024
Yancey County6Soft473252025
Transylvania County5Soft865232025

ZIP codes

ZIP codes in North Carolina

The ZIP codes below are grouped by the North Carolina county they fall in. Each ZIP takes its county's measured median — shown in the group header — so this is a ZIP-to-county guide, not a separate reading for every ZIP. To check the water system serving a specific address, use the lookup.

Pamlico County · 470 mg/L · Very hard

285092851028515285292853728552285562857128587

Beaufort County · 310 mg/L · Very hard

2780627808278142781727821278602786527889

Hyde County · 305 mg/L · Very hard

278102782427826278752788527960

Currituck County · 240 mg/L · Very hard

279162791727923279272792927939279412794727950279562795827964279652796627973

Carteret County · 231 mg/L · Very hard

2851128512285162852028524285282853128553285572857028575285772857928581285842858928594

Tyrrell County · 190 mg/L · Very hard

27925

Dare County · 180 mg/L · Very hard

2791527920279362794327948279492795327954279592796827972279782798127982

New Hanover County · 170 mg/L · Hard

28401284032840528409284112841228428284292844928480

Onslow County · 126.5 mg/L · Hard

28445284542846028539285402854228543285442854628547285552857428582

Vance County · 100 mg/L · Moderately hard

2753627537275442755627584

Perquimans County · 96 mg/L · Moderately hard

279192794427985

Camden County · 88 mg/L · Moderately hard

279212797427976

Pasquotank County · 78 mg/L · Moderately hard

27909

Martin County · 58 mg/L · Soft

2782527840278412784627857278612787127892

Chowan County · 55 mg/L · Soft

2793227980

Mecklenburg County · 55 mg/L · Soft

28031280362807828105281342820228203282042820528206282072820828209282102821128212282132821428215282162821728223282262822728244282622826928270282732827428277282782828028282

Cabarrus County · 53 mg/L · Soft

28025280272807528081280832810728124

Jones County · 53 mg/L · Soft

2857328585

Guilford County · 49 mg/L · Soft

2721427235272492726027262272652726827282272832730127310273132734227358273772740127403274052740627407274082740927410274112741227455

Randolph County · 48 mg/L · Soft

272032720527233272482726327298273162731727341273502735527370

Union County · 45 mg/L · Soft

2807928103281042810828110281122817328174

Davidson County · 43 mg/L · Soft

2710727239272922729527299273512736027374

Alamance County · 42 mg/L · Soft

27201272022721527217272442725327258273022734027349

Forsyth County · 37 mg/L · Soft

27009270122702327040270452705027051271012710327104271052710627109271102712727284

Duplin County · 36.5 mg/L · Soft

283252834928365283982845328458284642846628508285182852128572

Craven County · 36 mg/L · Soft

285192852328526285272853228533285602856228586

Granville County · 36 mg/L · Soft

275072750927522275652758127582

Stanly County · 36 mg/L · Soft

280012800928097281092812728128281292813728163

Rowan County · 35 mg/L · Soft

2701327054280232803928041280712807228088281252813828144281462814728159

Person County · 34.6 mg/L · Soft

273432754127572275732757427583

Washington County · 34 mg/L · Soft

279282796227970

Pitt County · 33 mg/L · Soft

278122782727828278292783427837278582787927884285132853028590

Chatham County · 32.2 mg/L · Soft

2720727208272132725227256273122734427517275232755927562

Brunswick County · 32 mg/L · Soft

284202842228451284522846128462284652846728468284692847028479

Durham County · 31 mg/L · Soft

27503277012770327704277052770727708277092771227713

Lee County · 31 mg/L · Soft

273302733228355

Caswell County · 30.5 mg/L · Soft

27212272912730527311273142731527379

Bertie County · 30 mg/L · Soft

2780527847278492787227924279572796727983

Northampton County · 30 mg/L · Soft

278202783127832278422784527853278622786627869278762787727897

Pender County · 30 mg/L · Soft

284212842528435284432845728478

Halifax County · 29 mg/L · Soft

27823278392784427850278702787427890

Wake County · 29 mg/L · Soft

2750227511275132751827519275292753927540275452756027571275872759127592275972760127603276042760527606276072760827609276102761227613276142761527616276172769527697

Warren County · 29 mg/L · Soft

275512755327563275702758927594

Greene County · 28.8 mg/L · Soft

27888285382855428580

Orange County · 28.7 mg/L · Soft

27231272432727827510275142751627599

Gates County · 28 mg/L · Soft

27926279352793727938279462796927979

Johnston County · 28 mg/L · Soft

2750427520275242752727542275552756827569275762757727593

Anson County · 27.7 mg/L · Soft

28007280912810228119281332813528170

Sampson County · 26 mg/L · Soft

2831828328283342834128344283662838228385283932844128444

Franklin County · 25.8 mg/L · Soft

2750827525275492759627816

Edgecombe County · 25 mg/L · Soft

278012780927815278192784327852278642788127886

Harnett County · 25 mg/L · Soft

2750127505275062752127526275462832328326283392836828390

Lenoir County · 25 mg/L · Soft

28501285042852528551

Gaston County · 24 mg/L · Soft

2800628012280162802128032280342805228054280562807728098281012812028164

Hertford County · 24 mg/L · Soft

278182785527910279222794227986

Lincoln County · 23 mg/L · Soft

2803328037280802809228168

Rockingham County · 23 mg/L · Soft

27025270272704827288273202732627357

Surry County · 23 mg/L · Soft

270072701727024270302704127047286212867628683

Nash County · 22 mg/L · Soft

2755727803278042780727856278782788227891

Wilson County · 22 mg/L · Soft

2781327822278512787327880278832789327896

Columbus County · 21 mg/L · Soft

2842328424284302843128432284362843828439284422845028455284562846328472

Wayne County · 21 mg/L · Soft

2753027531275332753427830278632833328578

Bladen County · 20 mg/L · Soft

283202833228337283922839928433284342844728448

Montgomery County · 20 mg/L · Soft

272092722927247273062735627371

Watauga County · 20 mg/L · Soft

28604286052860728618286792869228698

Ashe County · 19 mg/L · Soft

2861528617286262862928631286402864328672286842869328694

Richmond County · 19 mg/L · Soft

283302833828345283472836728379

Iredell County · 18 mg/L · Soft

281152811728166286252863428660286772867828689

Stokes County · 17.8 mg/L · Soft

270162701927021270222704227043270462705227053

Alleghany County · 16 mg/L · Soft

286232862728644286632866828675

Cumberland County · 16 mg/L · Soft

2830128303283042830528306283072830828310283112831228314283312834228348283562839128395

Davie County · 16 mg/L · Soft

270062701427028

Madison County · 16 mg/L · Soft

287432875328754

Mitchell County · 16 mg/L · Soft

2870528777

Moore County · 16 mg/L · Soft

272422725927281273252737628315283272835028373283742838728394

Rutherford County · 15 mg/L · Soft

280182801928024280402804328074280762813928160281672872028746

Cleveland County · 14 mg/L · Soft

280172802028042280732808628089280902811428136281502815228169

Yadkin County · 14 mg/L · Soft

2701127018270202705528642

Buncombe County · 13 mg/L · Soft

28701287042870928711287152873028748287572877028778287872880128803288042880528806

Catawba County · 13 mg/L · Soft

286012860228609286102861328650286582867328682

Robeson County · 13 mg/L · Soft

283402835728358283592836028362283642836928371283722837528378283832838428386

Alexander County · 12 mg/L · Soft

2863628681

Burke County · 12 mg/L · Soft

286122861928628286372864128655286662867128690

McDowell County · 12 mg/L · Soft

28749287522876128762

Wilkes County · 12 mg/L · Soft

286062862428635286492865128654286592866528669286702868528697

Polk County · 11.5 mg/L · Soft

28722287562877328782

Caldwell County · 11 mg/L · Soft

2861128630286382864528667

Cherokee County · 10 mg/L · Soft

289012890528906

Graham County · 9 mg/L · Soft

287022873328771

Avery County · 8 mg/L · Soft

2861628622286462865228653286572866228664

Haywood County · 8 mg/L · Soft

287162872128745287512878528786

Henderson County · 8 mg/L · Soft

28710287262872928731287322873528739287422875828759287902879128792

Hoke County · 7 mg/L · Soft

2837628377

Macon County · 7 mg/L · Soft

2873428741287632877528781

Jackson County · 6 mg/L · Soft

287072871728723287252873628779287832878828789

Scotland County · 6 mg/L · Soft

2834328351283522836328396

Swain County · 6 mg/L · Soft

2871328719

Yancey County · 6 mg/L · Soft

287142874028755

Transylvania County · 5 mg/L · Soft

2870828712287182874728766287682877228774

363 ZIP codes are not served by a mapped community water system — most are private-well areas. See well water hardness.

Check any ZIP's utility and hardness →

Source

Groundwater vs surface water

North Carolina's groundwater measures harder than its surface water — 80 mg/L across 5,597 samples versus 26 across 73,528, about 3.1× harder. Wells draw from groundwater, so well owners in North Carolina tend to see the harder number — 80 mg/L, moderately hard. Groundwater readings there run 12 to 270 mg/L across the middle 80% of samples. The comparison draws on 3,452 groundwater and 2,836 surface-water monitoring sites; 3,771 readings above 2,000 mg/L were logged but held out of the medians as outliers.

Groundwater (wells)

80 mg/L as CaCO₃ · 5,597 results at 3,452 stations.

Surface water (rivers, lakes)

26 mg/L as CaCO₃ · 73,528 results at 2,836 stations.

Groundwater measures about 3.1× harder than surface water here.

Chemistry

Water chemistry in North Carolina

Beyond the hardness number, North Carolina's water carries a fuller chemical signature — here is how its measured parameters compare to national benchmarks.

TDS

73 mg/L · n=4,835

73 mg/L — below the national county median of 226.

pH

7.1 pH · n=44,570

pH 7.1 — within the EPA secondary range of 6.5–8.5, on the alkaline side.

Alkalinity

23.9 mg/L as CaCO3 · n=8,541

23.9 mg/L — modest buffering capacity.

Calcium : Magnesium

7.4 : 2.6 mg/L2.85 : 1 · n=10,651

Calcium is about 63% of North Carolina's hardness (7.4 mg/L Ca to 2.6 mg/L Mg), a little more magnesium-rich than the national ~68% calcium share.

Parameter medians may include a small share of quality-control samples; the hardness lane is fully QC-filtered.

Aquifers

Major aquifers under North Carolina

3 aquifer systems supply much of North Carolina's measured groundwater.

  • Castle Hayne aquifermedian 210 mg/L across 838 samples at 632 sites: very hard.
  • Early Mesozoic basin aquifersmedian 95.8 mg/L across 79 samples at 77 sites: moderately hard.
  • Northern Atlantic Coastal Plain aquifer systemmedian 84.5 mg/L across 1,763 samples at 1,199 sites: moderately hard.

Together these systems account for 2,680 measured samples at 1,908 sites. Aquifer medians pool samples across a whole system and can mask local variation — see the national aquifer map for how these compare across states.

Trend

Hardness over time

1930s2020s160

North Carolina's decade median moved from 160 mg/L in the 1930s to 30 in the 2020s. Over the series, the decade median peaked at 160 mg/L in the 1930s and bottomed at 15 in the 1970s. Decade medians reflect where and what agencies sampled in each era, not just changes in the water itself.

Scale

Where North Carolina sits on the scale

On the USGS scale, North Carolina's 27 mg/L is soft — 1.6 grains per gallon, below the 60 mg/L soft cutoff — among the softest water measured in the US.

SoftModerately hardHardVery hard60 · 3.5 gpg120 · 7.0 gpg180 · 10.5 gpg27 mg/L — Soft
Harder than 15% of the 2,977 measured county medians.

Questions

Frequently asked questions

Is North Carolina's water hard?
North Carolina's median hardness is 27 mg/L as CaCO₃, "soft" on the USGS scale and below the national county median of 140 mg/L.
Which county in North Carolina has the hardest water?
Pamlico County, with a median of 470 mg/L as CaCO₃ across 328 measurements.
Is well water harder than city water in North Carolina?
Groundwater measures harder here — about 3.1× the surface water — so wells tend to run harder (groundwater 80 vs surface water 26 mg/L).
How do I find my exact hardness in North Carolina?
Search your ZIP on the lookup tool, read your utility's Consumer Confidence Report, or test at home with a kit.
Is North Carolina's water harder than the national average?
No. North Carolina's median of 27 mg/L is below the national county median of 140 mg/L; it ranks #44 of the 50 states and D.C.

Compare

States with similar hardness

Two states measure closest to North Carolina's 27 mg/L: New York at 27 mg/L and Georgia at 24.4 mg/L. North Carolina measures harder than 14% of states. Browse the full ranking on the statistics page.

More: hardness scale · check your address · national statistics · the national map.

By . Source: USGS/EPA Water Quality Portal — 79,363 North Carolina measurements. Data last verified . Methodology.

Cite this page:North Carolina Water Hardness by County.” Hard Water Map. Retrieved 2026-07-22, https://hardwatermap.com/water-hardness/north-carolina/