North Carolina cities compared
All 15 North Carolina metropolitan areas on the same $100,000 salary and the same $400,000 home. Pinehurst leaves you $8,964 a year better off than Durham — and none of it is income tax, which is identical everywhere in the state.
Pinehurst to Durham: $8,964 a year apart, same tax code
North Carolina has 15 metropolitan areas with a published price index, and on $100,000 with a $400,000 home they are not interchangeable: $83,132 of purchasing power in Pinehurst against $74,168 in Durham — $8,964 a year, 9.0% of the salary, without leaving the state.
That gap is unusually easy to trust, because the income tax is identical in every row. Federal $13,170, FICA $7,650, North Carolina state income tax $3,481, and no county or city in North Carolina levies its own. Two things move down this table and only two: what a house costs in property tax, and what everything costs at the till.
| Metropolitan area | Buys | Behind the best | Prices | Property tax |
|---|---|---|---|---|
| 1Pinehurst-Southern Pines | $83,132 | best | 88.336 | 0.57% |
| 2Hickory-Lenoir-Morganton | $82,666 | −$466 | 88.486 | 0.64% |
| 3Goldsboro | $82,209 | −$923 | 88.462 | 0.74% |
| 4Rocky Mount | $81,987 | −$1,145 | 88.012 | 0.89% |
| 5Greenville | $81,790 | −$1,342 | 88.402 | 0.85% |
| 6Jacksonville | $79,374 | −$3,759 | 92.085 | 0.65% |
| 7Winston-Salem | $78,946 | −$4,186 | 92.043 | 0.76% |
| 8Burlington | $78,431 | −$4,701 | 93.196 | 0.65% |
| 9Fayetteville | $78,149 | −$4,983 | 91.978 | 0.95% |
| 10Greensboro-High Point | $77,890 | −$5,242 | 92.865 | 0.84% |
| 11Asheville | $76,064 | −$7,068 | 96.506 | 0.57% |
| 12Wilmington | $76,045 | −$7,087 | 96.422 | 0.59% |
| 13Charlotte-Concord-Gastonia | $74,931 | −$8,201 | 97.348 | 0.69% |
| 14Raleigh-Cary | $74,222 | −$8,910 | 98.157 | 0.71% |
| 15Durham-Chapel Hill | $74,168 | −$8,964 | 97.572 | 0.83% |
Purchasing power on a $100,000 salary with a $400,000 home: take-home after federal, FICA, North Carolina income tax and property tax, divided by that area’s price level. The income tax is identical in every row — the whole of the spread is property tax and the price level. Price index 100 is the US average.
Every one of these areas prices below the national average.
Property tax runs from 0.57% in Pinehurst to 0.95% in Fayetteville — on a $400,000 home that is $2,263 against $3,819 a year, a difference of $1,556. Each rate is that area's counties averaged and weighted by how many homes are in each, because a house pays the tax and a rural county of a few thousand homes should not weigh the same as an urban one of several hundred thousand.
The 105 North Carolina comparisons, resolved
Every pair of North Carolina cities, each on its own page with the full working, the break-even salary and the property tax bill house by house. Ordered by the population that could plausibly be choosing between them:
Charlotte vs Raleigh — Charlotte by $709 a year. Price level 97.348 against 98.157; property tax 0.69% against 0.71%.
Charlotte vs Greensboro — Greensboro by $2,959 a year. Price level 97.348 against 92.865; property tax 0.69% against 0.84%.
Charlotte vs Winston-Salem — Winston-Salem by $4,015 a year. Price level 97.348 against 92.043; property tax 0.69% against 0.76%.
Charlotte vs Durham — Charlotte by $763 a year. Price level 97.348 against 97.572; property tax 0.69% against 0.83%.
Charlotte vs Wilmington — Wilmington by $1,114 a year. Price level 97.348 against 96.422; property tax 0.69% against 0.59%.
Asheville vs Charlotte — Asheville by $1,132 a year. Price level 96.506 against 97.348; property tax 0.57% against 0.69%.
Charlotte vs Fayetteville — Fayetteville by $3,218 a year. Price level 97.348 against 91.978; property tax 0.69% against 0.95%.
Charlotte vs Hickory — Hickory by $7,735 a year. Price level 97.348 against 88.486; property tax 0.69% against 0.64%.
Charlotte vs Jacksonville — Jacksonville by $4,442 a year. Price level 97.348 against 92.085; property tax 0.69% against 0.65%.
Burlington vs Charlotte — Burlington by $3,500 a year. Price level 93.196 against 97.348; property tax 0.65% against 0.69%.
Charlotte vs Greenville — Greenville by $6,859 a year. Price level 97.348 against 88.402; property tax 0.69% against 0.85%.
Charlotte vs Rocky Mount — Rocky Mount by $7,056 a year. Price level 97.348 against 88.012; property tax 0.69% against 0.89%.
Charlotte vs Goldsboro — Goldsboro by $7,278 a year. Price level 97.348 against 88.462; property tax 0.69% against 0.74%.
Charlotte vs Pinehurst — Pinehurst by $8,201 a year. Price level 97.348 against 88.336; property tax 0.69% against 0.57%.
Greensboro vs Raleigh — Greensboro by $3,668 a year. Price level 92.865 against 98.157; property tax 0.84% against 0.71%.
Raleigh vs Winston-Salem — Winston-Salem by $4,724 a year. Price level 98.157 against 92.043; property tax 0.71% against 0.76%.
Durham vs Raleigh — Raleigh by $54 a year. Price level 97.572 against 98.157; property tax 0.83% against 0.71%.
Raleigh vs Wilmington — Wilmington by $1,823 a year. Price level 98.157 against 96.422; property tax 0.71% against 0.59%.
Asheville vs Raleigh — Asheville by $1,842 a year. Price level 96.506 against 98.157; property tax 0.57% against 0.71%.
Fayetteville vs Raleigh — Fayetteville by $3,927 a year. Price level 91.978 against 98.157; property tax 0.95% against 0.71%.
Hickory vs Raleigh — Hickory by $8,444 a year. Price level 88.486 against 98.157; property tax 0.64% against 0.71%.
Jacksonville vs Raleigh — Jacksonville by $5,152 a year. Price level 92.085 against 98.157; property tax 0.65% against 0.71%.
Burlington vs Raleigh — Burlington by $4,209 a year. Price level 93.196 against 98.157; property tax 0.65% against 0.71%.
Greenville vs Raleigh — Greenville by $7,568 a year. Price level 88.402 against 98.157; property tax 0.85% against 0.71%.
And 81 more pairs of North Carolina cities, each with its own page.
Every North Carolina city, and what it can be compared with
The areas themselves, largest first. Each line has what defines that city on the two measures that matter here, and then every comparison it takes part in:
Charlotte-Concord-Gastonia — 2.7m people across 11 counties. Price level 97.348, housing 97.635, property tax 0.69%. Compared with Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Raleigh-Cary — 1.4m people across 3 counties. Price level 98.157, housing 103.476, property tax 0.71%. Compared with Charlotte, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Greensboro-High Point — 780k people across 3 counties. Price level 92.865, housing 74.519, property tax 0.84%. Compared with Charlotte, Raleigh, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Winston-Salem — 684k people across 5 counties. Price level 92.043, housing 71.377, property tax 0.76%. Compared with Charlotte, Raleigh, Greensboro, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Durham-Chapel Hill — 594k people across 4 counties. Price level 97.572, housing 98.934, property tax 0.83%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Wilmington — 441k people across 3 counties. Price level 96.422, housing 93.215, property tax 0.59%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Asheville — 411k people across 3 counties. Price level 96.506, housing 93.371, property tax 0.57%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Fayetteville — 390k people across 2 counties. Price level 91.978, housing 73.081, property tax 0.95%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Hickory-Lenoir-Morganton — 367k people across 4 counties. Price level 88.486, housing 59.578, property tax 0.64%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Jacksonville — 209k people across 1 county. Price level 92.085, housing 72.118, property tax 0.65%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Burlington, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Burlington — 174k people across 1 county. Price level 93.196, housing 77.88, property tax 0.65%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Greenville, Rocky Mount, Goldsboro, Pinehurst.
Greenville — 172k people across 1 county. Price level 88.402, housing 57.326, property tax 0.85%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Rocky Mount, Goldsboro, Pinehurst.
Rocky Mount — 144k people across 2 counties. Price level 88.012, housing 56.103, property tax 0.89%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Goldsboro, Pinehurst.
Goldsboro — 118k people across 1 county. Price level 88.462, housing 57.684, property tax 0.74%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Pinehurst.
Pinehurst-Southern Pines — 103k people across 1 county. Price level 88.336, housing 59.318, property tax 0.57%. Compared with Charlotte, Raleigh, Greensboro, Winston-Salem, Durham, Wilmington, Asheville, Fayetteville, Hickory, Jacksonville, Burlington, Greenville, Rocky Mount, Goldsboro.
The counties behind each rate
Nobody pays a metropolitan area's property tax rate. They pay their county's, and the figures above are those county rates averaged and weighted by how many homes each county holds. Opened up:
Charlotte averages 0.69% across 11 counties: Mecklenburg County 0.75%, York County 0.50%, Gaston County 0.80%, Cabarrus County 0.76%, Union County 0.61%, Iredell County 0.63%, Rowan County 0.65%, Lancaster County 0.50%, and 3 more. Inside the area the rate runs from 0.50% in York County to 0.93% in Anson County, which is $1,746 a year on a $400,000 home — a real spread inside a single labour market.
Raleigh averages 0.71% across 3 counties: Wake County 0.71%, Johnston County 0.69%, Franklin County 0.72%. Inside the area the rate runs from 0.69% in Johnston County to 0.72% in Franklin County, which is $126 a year on a $400,000 home — a real spread inside a single labour market.
Greensboro averages 0.84% across 3 counties: Guilford County 0.88%, Randolph County 0.72%, Rockingham County 0.79%. Inside the area the rate runs from 0.72% in Randolph County to 0.88% in Guilford County, which is $652 a year on a $400,000 home — a real spread inside a single labour market.
Winston-Salem averages 0.76% across 5 counties: Forsyth County 0.85%, Davidson County 0.63%, Stokes County 0.62%, Davie County 0.67%, Yadkin County 0.69%. Inside the area the rate runs from 0.62% in Stokes County to 0.85% in Forsyth County, which is $916 a year on a $400,000 home — a real spread inside a single labour market.
Durham averages 0.83% across 4 counties: Durham County 0.84%, Orange County 0.96%, Chatham County 0.67%, Person County 0.67%. Inside the area the rate runs from 0.67% in Person County to 0.96% in Orange County, which is $1,160 a year on a $400,000 home — a real spread inside a single labour market.
Wilmington averages 0.59% across 3 counties: New Hanover County 0.59%, Brunswick County 0.57%, Pender County 0.70%. Inside the area the rate runs from 0.57% in Brunswick County to 0.70% in Pender County, which is $508 a year on a $400,000 home — a real spread inside a single labour market.
Asheville averages 0.57% across 3 counties: Buncombe County 0.60%, Henderson County 0.52%, Madison County 0.50%. Inside the area the rate runs from 0.50% in Madison County to 0.60% in Buncombe County, which is $419 a year on a $400,000 home — a real spread inside a single labour market.
Fayetteville averages 0.95% across 2 counties: Cumberland County 0.99%, Hoke County 0.69%. Inside the area the rate runs from 0.69% in Hoke County to 0.99% in Cumberland County, which is $1,200 a year on a $400,000 home — a real spread inside a single labour market.
Hickory averages 0.64% across 4 counties: Catawba County 0.60%, Burke County 0.70%, Caldwell County 0.64%, Alexander County 0.63%. Inside the area the rate runs from 0.60% in Catawba County to 0.70% in Burke County, which is $375 a year on a $400,000 home — a real spread inside a single labour market.
Jacksonville averages 0.65% across 1 county: Onslow County 0.65%. One county, so the area rate is that county's rate exactly — no averaging involved.
Burlington averages 0.65% across 1 county: Alamance County 0.65%. One county, so the area rate is that county's rate exactly — no averaging involved.
Greenville averages 0.85% across 1 county: Pitt County 0.85%. One county, so the area rate is that county's rate exactly — no averaging involved.
Rocky Mount averages 0.89% across 2 counties: Nash County 0.77%, Edgecombe County 1.10%. Inside the area the rate runs from 0.77% in Nash County to 1.10% in Edgecombe County, which is $1,304 a year on a $400,000 home — a real spread inside a single labour market.
Goldsboro averages 0.74% across 1 county: Wayne County 0.74%. One county, so the area rate is that county's rate exactly — no averaging involved.
Pinehurst averages 0.57% across 1 county: Moore County 0.57%. One county, so the area rate is that county's rate exactly — no averaging involved.
Which is the limitation of every figure on this page, stated rather than buried: an area rate is an average, and your address decides what you actually pay. The county pages linked above carry the rate, the assessment basis and the source for each one.
Where North Carolina cities sit among the 380 in the country
A state ranking answers "where in North Carolina". It does not answer whether North Carolina is an expensive place to begin with, and the two questions have different answers often enough to be worth separating.
Against all 380 metropolitan areas the Bureau of Economic Analysis prices, Raleigh ranks 106 and Rocky Mount ranks 330, counting from the most expensive. The national median area sits at 93.492 — Monroe — so 5 of these 15 North Carolina areas are dearer than the typical American metropolitan area and 10 are cheaper.
Neither end of this state reaches the national extremes, which run from 115.613 to 83.597.
The distinction matters for a specific reason. Everything on this page holds the income tax constant because these cities share a state; the moment a move crosses a state line that stops being true, and the comparison becomes the harder one — which is what North Carolina against every other state is for.
The tax that is the same in all 15
Worth spelling out, because it is what makes the ranking above readable at all. On $100,000, in every one of these areas:
Federal income tax — $13,170. Set by Congress, identical everywhere in the United States.
Social Security and Medicare — $7,650. Also federal, and also flat across the country up to the Social Security ceiling.
North Carolina income tax — $3,481. One set of brackets for the whole state, one standard deduction, applied identically in every city on this page.
Local income tax — $0. North Carolina does not permit counties, cities or school districts to levy their own. That is not a modelling shortcut, it is the law, and it is the condition on which these pages get published: in the eleven states that do permit it, the levying jurisdictions do not line up with metropolitan areas and no honest rate can be assigned.
Which leaves property tax as the only tax in the whole comparison that moves — from $2,263 to $3,819 a year on the same $400,000 home — and the price level as the only other thing. Two variables, both measured, both sourced. It is as clean as a cost-of-living comparison gets.
The top of this table changes depending on whether you buy
A ranking built on one salary and one house value is worth exactly as much as its assumptions, so here are the same 15 areas resolved again with those assumptions changed.
Renting, with no property tax at all: Rocky Mount moves to the top, ahead of Pinehurst. Property tax is what was holding the order in place, which means a renter and a buyer looking at the same two cities should reach different answers.
On $60,000 instead of $100,000: Pinehurst still leads. The gap narrows to $6,050 — smaller in dollars, but a larger share of a smaller salary.
On $250,000: Pinehurst still leads, and by $20,012 — the spread widens with income, because the price level applies to everything you have left after tax.
This is the same discipline applied to a single published figure elsewhere on this site: a number without its range is half a number. Every page linked above lets you set your own salary, your own house and your own horizon, and recomputes the whole comparison rather than scaling it.
How this is worked out, and what it does not claim
Every row is the same calculation: gross salary in, federal income tax and FICA out, North Carolina income tax out, property tax on a $400,000 home out — then what is left divided by that area's price level, so the figure is what the money buys rather than what the payslip says.
The price index is the Bureau of Economic Analysis Regional Price Parity, 2024, published per metropolitan area with a documented method and broken into housing, goods, utilities and services. Which counties make up each area comes from the Census Bureau delineation file, joined by CBSA code and never by name — there are thirty "Washington County" in the United States and a join on names would have failed silently.
US Bureau of Economic Analysis — Regional Price Parities by State and Metro Area, 2024 (released 19 February 2026) — read 2026-09-10. https://www.bea.gov/data/prices-inflation/regional-price-parities-state-and-metro-area
US Census Bureau — Core Based Statistical Areas delineation file, 2023 (which counties form each metropolitan area) — read 2026-09-10. https://www.census.gov/geographies/reference-files/time-series/demo/metro-micro/delineation-files.html
US Census Bureau, American Community Survey — county effective property tax rates and housing units — read 2026-08-31. https://data.census.gov/
What it does not claim: that the city at the top is the better place to live. This measures what a salary buys. Schools, the commute, the weather and how far you are from your family are not in it, and on a move inside one state they are usually what actually decides it.
It also assumes one salary, one house value and a buyer rather than a renter. Every page linked above lets you change all three, and the answer moves with them — on some pairs enough to change which city comes out ahead.
Where to go next
Questions
- Which city in North Carolina leaves you best off?
- Pinehurst, at $83,132 of purchasing power on $100,000 with a $400,000 home — $8,964 a year more than Durham at the other end of the table. Because the income tax is identical everywhere in North Carolina, that ranking is made of two things only: the price level and property tax.
- Which is the cheapest city in North Carolina?
- Rocky Mount, at 88.012 on the Bureau of Economic Analysis price index where 100 is the US average, against 98.157 in Raleigh. Cheapest is not the same as best off, though: property tax is set separately and can move a household by $695 a year on the same house.
- Does income tax differ between cities in North Carolina?
- No. North Carolina sets one set of brackets for the whole state, and it does not let counties or cities levy their own income tax. On $100,000 the bill is federal $13,170, FICA $7,650 and state $3,481 in every one of these 15 areas. That is what makes comparing them clean.
- How much does cost of living vary inside North Carolina?
- From 88.012 to 98.157 on the price index — 10.1 points between Rocky Mount and Raleigh. In take-home terms that is $8,964 a year of purchasing power on the same salary.
- How many North Carolina city comparisons are there?
- 105, one page each, every pair of the 15 metropolitan areas the Bureau of Economic Analysis prices in North Carolina. Each resolves the same way — income tax, property tax and price level — and each shows the break-even salary in both directions.