Guest, Sign inJoin
Wingate, NC Town Hall IMG 4253Wingate, #1 on this list · Photo: Billy Hathorn · CC BY-SA 3.0
North Carolina rankings · 2026

Best small towns in North Carolina

Wingate ranks first of North Carolina’s 188 graded small towns (2,500–9,999 residents), with an A+: cost of living (A−) and schools (A−) are its strongest grades; jobs & income (B−) is its lowest. 15 of the 188 (8%) grade A− or better nationally, against 25% of U.S. towns.

The overall grade, sorted: cost of living, safety, schools, health, jobs & income, walkability and hazard risk, from Census, FBI, state, CDC, EPA and FEMA data. How grades work

#2

Wingate

Union County · 4,628 people
A+

Strongest: cost of living A−, schools A−·lowest: jobs & income B−

A−Cost–SafetyA−SchoolsB+HealthB−JobsA−WalkB−Hazards
#3

Avery Creek

unincorporated, Buncombe County · 2,887 people
A

Strongest: jobs & income A+, health A+·lowest: walkability C−

BCost–SafetyBSchoolsA+HealthA+JobsC−WalkBHazards
#4

Lowesville

unincorporated, Lincoln County · 3,874 people
A

Strongest: jobs & income A, health A·lowest: cost of living B−

B−Cost–SafetyB+SchoolsAHealthAJobsA−WalkBHazards

Where they are: Three of the top 10 are in Union County.

All 188 small towns

Overall score, highest first. The score (0–100) blends the seven livability grades and sets the order; the letter places that score among every U.S. town of 2,500+, and A+ is the top 5%, so neighbors on the list often share a letter. Each town links to its page, where the grade sheet shows every subject. The rank is the town’s place among all 286 North Carolina towns.

188 towns ranked. Not here? See why a town may be missing.

#TownScoreGradeWhat drives it
2WingateUnion County · 4,628 people72.6top 3.3%A+Strongest: cost of living A−, schools A−·lowest: jobs & income B−
3Avery Creekunincorporated, Buncombe County · 2,887 people70.6top 5.9%AStrongest: jobs & income A+, health A+·lowest: walkability C−
4Lowesvilleunincorporated, Lincoln County · 3,874 people70.3top 6.3%AStrongest: jobs & income A, health A·lowest: cost of living B−
7Seven Lakesunincorporated, Moore County · 4,535 people68.6top 9.2%AStrongest: health A−, cost of living A−·lowest: walkability C
8CarthageMoore County · 3,070 people66.9top 12.6%AStrongest: cost of living A+, hazard risk A−·lowest: jobs & income B−
13Mineral SpringsUnion County · 3,514 people65.8top 15.0%AStrongest: jobs & income A, schools A−·lowest: walkability D−
15Whispering PinesMoore County · 5,505 people65.2top 16.2%A−Strongest: safety A+, health A+·lowest: walkability C−
16Emmaunincorporated, Buncombe County · 2,657 people65.2top 16.4%A−Strongest: walkability A+, cost of living A+·lowest: health C
18FairviewUnion County · 3,805 people65.0top 16.7%A−Strongest: jobs & income A+, schools A−·lowest: walkability D−
20MidwayDavidson County · 5,104 people64.8top 17.1%A−Strongest: jobs & income A−, cost of living A−·lowest: walkability C−
22UnionvilleUnion County · 7,322 people64.4top 18.1%A−Strongest: schools A−, cost of living A−·lowest: walkability D
25MarvinUnion County · 7,040 people63.9top 19.3%A−Strongest: health A+, jobs & income A·lowest: cost of living C−
26MidlandCabarrus County · 5,151 people62.3top 23.1%A−Strongest: jobs & income A, health A·lowest: hazard risk C
27WallburgDavidson County · 3,255 people62.0top 24.0%A−Strongest: health A−, jobs & income A−·lowest: walkability C
28Archer LodgeJohnston County · 5,649 people62.0top 24.0%A−Strongest: health A−, jobs & income B+·lowest: walkability D
29Royal Pinesunincorporated, Buncombe County · 4,325 people61.3top 26.1%B+Strongest: health A, jobs & income A·lowest: walkability C−
30Southern ShoresDare County · 3,110 people61.2top 26.4%B+Strongest: health A, schools B+·lowest: hazard risk D−
35Briar Chapelunincorporated, Chatham County · 6,049 people60.4top 28.4%B+Strongest: health A+, jobs & income A−·lowest: cost of living C−
36Swannanoaunincorporated, Buncombe County · 6,901 people59.9top 29.7%B+Strongest: walkability A−, cost of living B+·lowest: jobs & income C−
37JamestownGuilford County · 3,803 people59.8top 29.9%B+Strongest: jobs & income A+, health A·lowest: hazard risk C−
38Oak RidgeGuilford County · 7,896 people59.8top 30.0%B+Strongest: jobs & income A+, health A·lowest: cost of living C−
39Holly RidgeOnslow County · 5,908 people59.1top 31.6%B+Strongest: health A, jobs & income A−·lowest: hazard risk D−
40Mills RiverHenderson County · 7,504 people59.1top 31.7%B+Strongest: jobs & income A, health A−·lowest: walkability C−
41Forest Oaksunincorporated, Guilford County · 4,293 people59.0top 31.8%B+Strongest: health A, jobs & income A−·lowest: walkability C
42MaidenCatawba County · 3,922 people58.9top 32.3%B+Strongest: cost of living A−, hazard risk B+·lowest: walkability C+
43StokesdaleGuilford County · 6,133 people58.7top 32.7%B+Strongest: jobs & income A, health A−·lowest: walkability C
47Wesley ChapelUnion County · 9,566 people58.2top 34.1%B+Strongest: health A, jobs & income A·lowest: hazard risk D
48FletcherHenderson County · 8,373 people57.9top 35.0%B+Strongest: health A, hazard risk B+·lowest: cost of living C
50Lake ParkUnion County · 3,609 people57.7top 35.3%BStrongest: schools A−, health A−·lowest: cost of living C−
51Black MountainBuncombe County · 8,491 people57.7top 35.4%BStrongest: health A, walkability B+·lowest: cost of living D
52Westportunincorporated, Lincoln County · 5,915 people57.6top 35.7%BStrongest: health A, jobs & income B+·lowest: walkability C−
53CantonHaywood County · 4,418 people57.6top 35.7%BStrongest: schools A−, health B·lowest: hazard risk C
55East Flat Rockunincorporated, Henderson County · 6,323 people57.6top 35.9%BStrongest: hazard risk A, cost of living B+·lowest: jobs & income C
56Sunset BeachBrunswick County · 4,642 people57.5top 36.0%BStrongest: health B+, jobs & income B+·lowest: hazard risk D−
60SwepsonvilleAlamance County · 2,632 people56.1top 39.9%BStrongest: jobs & income A, health B+·lowest: schools C
61Valley Hillunincorporated, Henderson County · 2,675 people55.7top 40.9%BStrongest: jobs & income A−, hazard risk A−·lowest: walkability C−
62Bayshoreunincorporated, New Hanover County · 2,949 people55.6top 41.0%BStrongest: health A, jobs & income A·lowest: hazard risk D−
63GibsonvilleGuilford County · 9,876 people55.4top 41.5%BStrongest: jobs & income A−, health B+·lowest: walkability C
64Ogdenunincorporated, New Hanover County · 8,249 people55.3top 41.7%BStrongest: health A, jobs & income A·lowest: hazard risk D−
65Bethlehemunincorporated, Alexander County · 4,101 people55.3top 41.9%BStrongest: cost of living B, jobs & income B·lowest: walkability C
67Red OakNash County · 3,523 people55.1top 42.3%BStrongest: jobs & income A, health A−·lowest: walkability D−
68Wrightsborounincorporated, New Hanover County · 6,287 people55.1top 42.3%BStrongest: cost of living B+, schools B·lowest: hazard risk D−
69Flat RockHenderson County · 3,643 people55.0top 42.6%BStrongest: hazard risk A−, health A−·lowest: walkability C−
70Tyrounincorporated, Davidson County · 3,833 people54.9top 42.8%BStrongest: cost of living A, schools B−·lowest: walkability D
71TobaccovilleForsyth County · 2,770 people54.9top 42.9%BStrongest: cost of living B+, health B+·lowest: walkability D
73Half Moonunincorporated, Onslow County · 7,378 people54.7top 43.6%BStrongest: health B+, cost of living B+·lowest: hazard risk D−
74Neuse Forestunincorporated, Craven County · 2,671 people54.5top 43.9%BStrongest: cost of living A, health A−·lowest: hazard risk D−
75Moyockunincorporated, Currituck County · 5,684 people54.5top 44.0%BStrongest: health A−, jobs & income B·lowest: walkability D
76Mountain Homeunincorporated, Henderson County · 3,437 people54.1top 45.0%BStrongest: health A−, jobs & income B+·lowest: walkability C−
78WentworthRockingham County · 2,774 people54.0top 45.5%B−Strongest: cost of living A, hazard risk B·lowest: walkability C−
79RanloGaston County · 4,848 people53.8top 45.9%B−Strongest: hazard risk A−, jobs & income B+·lowest: cost of living C+
81Long ViewCatawba County · 5,387 people53.6top 46.3%B−Strongest: cost of living A−, hazard risk B+·lowest: health C
82Bermuda RunDavie County · 3,323 people53.5top 46.7%B−Strongest: jobs & income A−, health A−·lowest: cost of living D
83Mountain Viewunincorporated, Catawba County · 3,982 people53.5top 46.8%B−Strongest: cost of living B+, hazard risk B+·lowest: walkability C−
84Lake Junaluskaunincorporated, Haywood County · 3,175 people53.4top 46.9%B−Strongest: walkability A, schools A−·lowest: cost of living C
85SouthportBrunswick County · 4,434 people53.4top 47.2%B−Strongest: walkability A−, health B+·lowest: hazard risk D−
86Boiling SpringsCleveland County · 4,799 people53.2top 47.7%B−Strongest: health A−, walkability A−·lowest: cost of living C−
87Trent WoodsCraven County · 4,070 people53.1top 48.0%B−Strongest: health A+, jobs & income A−·lowest: hazard risk D−
88Welcomeunincorporated, Davidson County · 3,521 people53.1top 48.0%B−Strongest: cost of living A−, jobs & income B·lowest: walkability C−
89Nags HeadDare County · 3,117 people53.0top 48.2%B−Strongest: health A−, jobs & income A−·lowest: hazard risk D−
90Lake Norman of Catawbaunincorporated, Catawba County · 9,906 people53.0top 48.2%B−Strongest: health A−, jobs & income A−·lowest: walkability D
93Kill Devil HillsDare County · 7,731 people52.8top 48.8%B−Strongest: health A, schools B+·lowest: hazard risk D−
94St. JamesBrunswick County · 7,318 people52.8top 48.8%B−Strongest: health A−, walkability B+·lowest: hazard risk D−
96CramertonGaston County · 5,713 people52.2bottom 49.4%B−Strongest: jobs & income A−, health A−·lowest: cost of living C−
97Kitty HawkDare County · 3,670 people52.2bottom 49.3%B−Strongest: health A, schools B+·lowest: hazard risk D−
98Lake Royaleunincorporated, Franklin County · 3,168 people52.1bottom 49.1%B−Strongest: jobs & income A−, cost of living A−·lowest: walkability D
99Pleasant GardenGuilford County · 5,165 people52.0bottom 48.8%B−Strongest: jobs & income A−, hazard risk B·lowest: walkability D
100Four OaksJohnston County · 2,978 people51.9bottom 48.8%B−Strongest: hazard risk A−, cost of living A−·lowest: jobs & income C−
102Emerald IsleCarteret County · 3,970 people51.7bottom 48.1%B−Strongest: health A, walkability A−·lowest: hazard risk D−
105LocustStanly County · 6,120 people51.3bottom 47.0%B−Strongest: schools B+, jobs & income B·lowest: walkability C−
106St. Stephensunincorporated, Catawba County · 9,457 people51.3bottom 47.0%B−Strongest: hazard risk B, schools B·lowest: walkability C−
108Wilson's MillsJohnston County · 2,987 people51.2bottom 46.9%B−Strongest: cost of living A−, health B+·lowest: jobs & income C−
109KingStokes County · 7,977 people50.9bottom 46.1%B−Strongest: hazard risk B+, jobs & income B+·lowest: walkability C−
110Etowahunincorporated, Henderson County · 7,968 people50.8bottom 45.8%B−Strongest: hazard risk B+, health B+·lowest: walkability D
111WoodfinBuncombe County · 8,229 people50.7bottom 45.5%B−Strongest: health A−, schools B·lowest: cost of living D
112TrinityRandolph County · 7,274 people50.6bottom 45.2%B−Strongest: cost of living B+, jobs & income B+·lowest: walkability C−
113Hampsteadunincorporated, Pender County · 9,292 people50.6bottom 45.1%B−Strongest: health A, schools B+·lowest: hazard risk D−
114WeavervilleBuncombe County · 4,790 people50.4bottom 44.5%C+Strongest: health A, jobs & income A−·lowest: cost of living D
115ValdeseBurke County · 4,712 people50.3bottom 44.4%C+Strongest: cost of living A, hazard risk A−·lowest: walkability C−
116MocksvilleDavie County · 6,282 people50.3bottom 44.4%C+Strongest: hazard risk A−, schools B·lowest: jobs & income C
117SwansboroOnslow County · 4,174 people50.3bottom 44.3%C+Strongest: walkability A−, health B+·lowest: hazard risk D−
118Porters Neckunincorporated, New Hanover County · 7,654 people50.2bottom 44.2%C+Strongest: health A+, schools B·lowest: hazard risk D−
119TroutmanIredell County · 4,336 people50.1bottom 43.8%C+Strongest: jobs & income A−, hazard risk A−·lowest: safety D
120Edneyvilleunincorporated, Henderson County · 2,716 people50.0bottom 43.6%C+Strongest: schools B+, cost of living B·lowest: walkability D
121LandisRowan County · 3,885 people49.8bottom 43.0%C+Strongest: hazard risk B+, jobs & income B+·lowest: schools C
124HudsonCaldwell County · 3,786 people49.2bottom 41.4%C+Strongest: cost of living B+, hazard risk B·lowest: walkability C−
126ConoverCatawba County · 8,938 people49.2bottom 41.4%C+Strongest: hazard risk A, schools B·lowest: cost of living C+
127PittsboroChatham County · 5,054 people49.1bottom 41.2%C+Strongest: health A−, schools B+·lowest: safety C−
129Silver Lakeunincorporated, New Hanover County · 6,563 people48.9bottom 40.4%C+Strongest: schools B, health B·lowest: hazard risk D−
130StanleyGaston County · 4,237 people48.8bottom 40.2%C+Strongest: hazard risk A−, jobs & income B·lowest: walkability C−
133Kings Grantunincorporated, New Hanover County · 9,003 people48.5bottom 39.4%C+Strongest: schools B, health B·lowest: hazard risk D−
134Granite QuarryRowan County · 3,129 people48.2bottom 38.6%C+Strongest: cost of living A−, hazard risk B−·lowest: walkability C−
135CherryvilleGaston County · 6,523 people48.2bottom 38.5%C+Strongest: hazard risk B+, cost of living B+·lowest: safety C
136Brices Creekunincorporated, Craven County · 3,415 people48.0bottom 38.0%C+Strongest: jobs & income A−, health B+·lowest: hazard risk D−
137BrevardTransylvania County · 8,098 people47.9bottom 37.5%C+Strongest: walkability A, hazard risk A−·lowest: cost of living C−
138Danaunincorporated, Henderson County · 4,147 people47.6bottom 37.0%C+Strongest: cost of living A−, hazard risk B+·lowest: walkability D
139James Cityunincorporated, Craven County · 4,789 people47.4bottom 36.4%C+Strongest: health B, cost of living B−·lowest: hazard risk D−
141FranklintonFranklin County · 2,890 people47.2bottom 35.9%C+Strongest: hazard risk A, cost of living A−·lowest: jobs & income C−
142FranklinMacon County · 4,403 people47.2bottom 35.8%C+Strongest: cost of living A−, hazard risk B+·lowest: safety C−
143Enochvilleunincorporated, Rowan County · 3,321 people46.9bottom 35.1%C+Strongest: cost of living A, jobs & income B·lowest: health C−
144DallasGaston County · 6,392 people46.6bottom 34.3%CStrongest: cost of living B, jobs & income B−·lowest: safety C+
145Oak IslandBrunswick County · 9,337 people46.2bottom 33.5%CStrongest: health A−, walkability B·lowest: hazard risk D−
146Carolina ShoresBrunswick County · 5,540 people46.2bottom 33.5%CStrongest: health B+, jobs & income B−·lowest: hazard risk D−
147YadkinvilleYadkin County · 3,055 people46.1bottom 33.3%CStrongest: hazard risk A, cost of living A−·lowest: jobs & income D
150TroyMontgomery County · 3,020 people45.7bottom 32.2%CStrongest: cost of living A−, hazard risk B−·lowest: walkability C−
151Carolina BeachNew Hanover County · 6,870 people45.2bottom 30.6%CStrongest: walkability A, health A−·lowest: hazard risk D−
152NewportCarteret County · 4,500 people44.9bottom 29.9%CStrongest: schools B+, health B·lowest: hazard risk D−
153Rural HallForsyth County · 3,607 people44.8bottom 29.7%CStrongest: hazard risk A−, health B·lowest: walkability D
154Surf CityPender County · 5,142 people44.7bottom 29.4%CStrongest: health A, schools B+·lowest: hazard risk D−
155Cajah's MountainCaldwell County · 2,702 people44.6bottom 29.3%CStrongest: cost of living A, hazard risk B+·lowest: jobs & income D
156MarshvilleUnion County · 2,739 people44.6bottom 29.2%CStrongest: cost of living A, schools A−·lowest: safety D
158SawmillsCaldwell County · 5,105 people44.5bottom 29.0%CStrongest: cost of living A−, hazard risk B+·lowest: walkability D
159HillsboroughOrange County · 9,778 people44.3bottom 28.7%CStrongest: health A−, jobs & income B+·lowest: safety D
160LowellGaston County · 3,939 people44.2bottom 28.3%CStrongest: hazard risk A−, cost of living B·lowest: health C−
162SpencerRowan County · 3,450 people43.6bottom 26.9%CStrongest: cost of living A, hazard risk B+·lowest: health C−
163Siler CityChatham County · 8,155 people43.6bottom 26.9%CStrongest: cost of living A−, walkability A−·lowest: health D−
166BensonJohnston County · 4,660 people43.4bottom 26.4%CStrongest: hazard risk A−, cost of living B+·lowest: safety D
167Boiling Spring LakesBrunswick County · 6,875 people43.2bottom 25.9%CStrongest: health B, schools B−·lowest: hazard risk D−
168Glen Ravenunincorporated, Alamance County · 3,506 people43.1bottom 25.8%CStrongest: hazard risk B+, cost of living B+·lowest: walkability D
169BelvilleBrunswick County · 3,199 people43.1bottom 25.6%CStrongest: health B+, jobs & income B·lowest: hazard risk D−
171China GroveRowan County · 4,650 people42.9bottom 25.2%CStrongest: cost of living B+, safety B·lowest: jobs & income C
172AngierHarnett County · 9,410 people42.9bottom 25.2%CStrongest: schools B+, hazard risk B+·lowest: walkability C−
173Skippers Cornerunincorporated, New Hanover County · 3,792 people42.7bottom 24.7%C−Strongest: cost of living B+, schools B·lowest: hazard risk D−
174Granite FallsCaldwell County · 4,964 people42.7bottom 24.7%C−Strongest: hazard risk B, health B·lowest: jobs & income C−
175BeaufortCarteret County · 4,912 people42.6bottom 24.5%C−Strongest: schools B+, walkability B·lowest: hazard risk D−
176WalkertownForsyth County · 6,120 people42.5bottom 24.3%C−Strongest: jobs & income B+, hazard risk B·lowest: walkability C−
177Sneads Ferryunincorporated, Onslow County · 2,728 people42.5bottom 24.2%C−Strongest: health B, schools B−·lowest: hazard risk D−
178RaefordHoke County · 4,703 people42.4bottom 24.1%C−Strongest: walkability A−, hazard risk B+·lowest: health D−
180SelmaJohnston County · 7,406 people41.7bottom 22.6%C−Strongest: cost of living A−, hazard risk A−·lowest: safety D
184CalabashBrunswick County · 3,069 people41.3bottom 21.7%C−Strongest: health B+, schools B−·lowest: hazard risk D−
185CreedmoorGranville County · 5,046 people41.3bottom 21.7%C−Strongest: health B+, hazard risk B·lowest: walkability D
187North WilkesboroWilkes County · 4,369 people41.1bottom 21.3%C−Strongest: walkability A−, schools B+·lowest: jobs & income D
190Fairfield Harbourunincorporated, Craven County · 2,948 people41.0bottom 21.1%C−Strongest: health A−, schools C+·lowest: hazard risk D−
193Bessemer CityGaston County · 5,834 people40.5bottom 20.1%C−Strongest: hazard risk A−, cost of living B+·lowest: health D
196BurgawPender County · 3,903 people40.0bottom 19.1%C−Strongest: schools B+, cost of living B·lowest: hazard risk D−
197LillingtonHarnett County · 5,040 people40.0bottom 18.9%C−Strongest: jobs & income B, cost of living B−·lowest: safety C−
198EastoverCumberland County · 3,743 people39.9bottom 18.8%C−Strongest: hazard risk B−, cost of living C+·lowest: walkability D
201Mar-Macunincorporated, Wayne County · 2,877 people39.6bottom 18.3%C−Strongest: cost of living A−, health C+·lowest: walkability D−
202Rockfishunincorporated, Hoke County · 3,574 people39.6bottom 18.2%C−Strongest: health B+, hazard risk B−·lowest: walkability D
204GamewellCaldwell County · 3,713 people39.2bottom 17.4%C−Strongest: cost of living A−, schools C+·lowest: walkability D
205MarionMcDowell County · 7,440 people39.0bottom 17.1%C−Strongest: cost of living B+, hazard risk B+·lowest: jobs & income D
208Northchaseunincorporated, New Hanover County · 5,896 people38.7bottom 16.3%C−Strongest: schools B, walkability B−·lowest: hazard risk D−
209WilkesboroWilkes County · 3,618 people38.4bottom 15.9%C−Strongest: walkability A−, schools B+·lowest: safety D
210DunnHarnett County · 8,814 people38.3bottom 15.7%C−Strongest: hazard risk A−, cost of living B+·lowest: safety D−
211River BendCraven County · 2,890 people38.0bottom 15.2%C−Strongest: health B−, jobs & income B−·lowest: hazard risk D−
212MayodanRockingham County · 2,503 people37.7bottom 14.8%DStrongest: cost of living A−, walkability B−·lowest: safety D−
213NorwoodStanly County · 2,568 people37.7bottom 14.7%DStrongest: hazard risk B, cost of living B−·lowest: jobs & income C−
217LibertyRandolph County · 2,739 people37.1bottom 13.6%DStrongest: hazard risk A, cost of living B·lowest: health D
218SpindaleRutherford County · 4,180 people36.9bottom 13.4%DStrongest: hazard risk A, schools B·lowest: jobs & income D−
223RandlemanRandolph County · 4,767 people35.9bottom 11.8%DStrongest: cost of living B, hazard risk B·lowest: health D
225RoxboroPerson County · 8,380 people35.8bottom 11.7%DStrongest: hazard risk A−, walkability A−·lowest: jobs & income D−
226ElkinSurry County · 4,130 people35.8bottom 11.6%DStrongest: schools A−, hazard risk B·lowest: safety D
228ButnerGranville County · 8,112 people35.4bottom 11.1%DStrongest: hazard risk B, cost of living B−·lowest: walkability C−
229Elroyunincorporated, Wayne County · 3,251 people35.3bottom 10.9%DStrongest: cost of living B+, jobs & income B−·lowest: walkability D
232ErwinHarnett County · 4,956 people34.9bottom 10.5%DStrongest: cost of living B−, hazard risk B−·lowest: safety C−
234ShallotteBrunswick County · 5,335 people34.5bottom 10.1%DStrongest: schools B−, jobs & income B−·lowest: hazard risk D−
235LouisburgFranklin County · 3,480 people34.4bottom 9.9%DStrongest: walkability A−, hazard risk B+·lowest: safety D−
236NashvilleNash County · 5,911 people34.4bottom 9.9%DStrongest: hazard risk B+, health C+·lowest: jobs & income C−
238WindsorBertie County · 3,469 people34.2bottom 9.7%DStrongest: walkability A−, cost of living B·lowest: jobs & income D
239Green LevelAlamance County · 3,409 people34.1bottom 9.6%DStrongest: hazard risk B+, cost of living B·lowest: walkability D
241SylvaJackson County · 2,691 people33.5bottom 8.7%DStrongest: walkability B, cost of living B−·lowest: safety D−
244WarsawDuplin County · 2,853 people32.4bottom 7.3%DStrongest: cost of living A−, walkability C+·lowest: health D
247HamletRichmond County · 5,870 people32.0bottom 7.0%DStrongest: cost of living B+, hazard risk B·lowest: jobs & income D
250GriftonPitt County · 2,539 people31.2bottom 6.0%DStrongest: cost of living B−, walkability C+·lowest: jobs & income D−
251AydenPitt County · 5,263 people30.9bottom 5.8%DStrongest: cost of living C+, schools C+·lowest: jobs & income D
252EdentonChowan County · 4,546 people30.9bottom 5.8%DStrongest: walkability A−, schools C+·lowest: health D
255Mount OliveWayne County · 4,521 people30.6bottom 5.4%DStrongest: walkability B, cost of living B−·lowest: health D
256River Roadunincorporated, Beaufort County · 3,366 people29.9bottom 4.7%D−Strongest: schools C+, cost of living C+·lowest: hazard risk D−
257WadesboroAnson County · 5,035 people29.7bottom 4.5%D−Strongest: hazard risk A−, cost of living A−·lowest: safety D−
259Forest CityRutherford County · 7,410 people28.9bottom 3.9%D−Strongest: walkability B+, schools B·lowest: safety D−
260OxfordGranville County · 8,985 people28.5bottom 3.7%D−Strongest: hazard risk B, walkability B·lowest: safety D−
261La GrangeLenoir County · 2,947 people28.1bottom 3.3%D−Strongest: cost of living B+, schools C·lowest: health D−
262Tabor CityColumbus County · 3,886 people27.7bottom 3.1%D−Strongest: walkability B−, cost of living C+·lowest: jobs & income D−
263RutherfordtonRutherford County · 3,723 people26.9bottom 2.5%D−Strongest: hazard risk B, schools B·lowest: safety C−
265RockinghamRichmond County · 8,815 people26.5bottom 2.3%D−Strongest: walkability B−, hazard risk C+·lowest: jobs & income D−
266WashingtonBeaufort County · 9,910 people26.4bottom 2.3%D−Strongest: walkability B+, schools C+·lowest: hazard risk D−
268Brogdenunincorporated, Wayne County · 2,733 people26.0bottom 2.0%D−Strongest: cost of living B+, schools C·lowest: health D−
270WhitevilleColumbus County · 4,765 people25.3bottom 1.8%D−Strongest: walkability A−, schools B−·lowest: safety D−
271ClintonSampson County · 8,466 people25.3bottom 1.7%D−Strongest: walkability B+, schools C+·lowest: safety D
272FarmvillePitt County · 4,577 people25.1bottom 1.6%D−Strongest: hazard risk C+, schools C+·lowest: health D−
273ElizabethtownBladen County · 3,306 people24.9bottom 1.6%D−Strongest: cost of living B−, walkability C+·lowest: safety D−
274Red SpringsRobeson County · 3,216 people24.8bottom 1.5%D−Strongest: walkability B+, cost of living B·lowest: health D−
275WallaceDuplin County · 3,570 people23.8bottom 1.2%D−Strongest: walkability B+, cost of living C·lowest: jobs & income D−
278East Rockinghamunincorporated, Richmond County · 2,779 people21.4bottom 0.6%D−Strongest: hazard risk B−, schools C·lowest: health D−
279WilliamstonMartin County · 5,086 people20.9bottom 0.6%D−Strongest: walkability A−, cost of living B−·lowest: safety D−
283PembrokeRobeson County · 2,888 people15.8bottom 0.1%D−Strongest: walkability C+, hazard risk C+·lowest: safety D−
284AhoskieHertford County · 4,608 people15.7bottom 0.1%D−Strongest: walkability B, cost of living C−·lowest: jobs & income D−
286PlymouthWashington County · 3,170 people13.6bottom 0.1%D−Strongest: walkability B−, cost of living C·lowest: jobs & income D−
Method

How this list is made

Each town’s overall grade blends seven livability grades: cost of living (weight 18), safety (18), schools (16), health (14), jobs & income (12), walkability (8) and hazard risk (4). A town needs 2,500+ residents and three of the first four. Letters are national, so an A here means the same as an A in any state; the list is the same towns in the same order, ranked within North Carolina. Towns without their own FBI figures are graded on the rest and their page says why.

Data years: crime 2023–2025 (FBI), Census ACS 2020–2024, CDC PLACES 2025, state school tests. How grades work

Left off: college campuses

Places where more than half the residents are college students (ACS) are graded like every town but kept off this list, since its figures mostly describe student life.

Quick answers

Questions people ask

What is the best small town in North Carolina?

Among 188 graded towns of 2,500 to 9,999 residents, Wingate (Union County) ranks first, with an A+; cost of living (A−) and schools (A−) are its strongest grades; jobs & income (B−) is its lowest. Avery Creek and Lowesville follow.

How are these towns ranked?

By the overall grade, which blends seven livability grades from public data. The letter is national; the rank is within North Carolina. The full method is on How grades work.

Why isn’t my town on this list?

The list covers towns of 2,500 to 9,999 residents with an overall grade (188 in North Carolina). 161 smaller places have subject grades only; 1 town of 2,500+ lack enough data for a grade; 2 college campuses (Buies Creek, Cullowhee) are left off. Larger towns are on the best places to live list. Every town is on the North Carolina page.

Go deeper

More North Carolina lists

Every list ranks the same 2,500+ towns, so a town’s rank means the same thing on each.

All North Carolina rankings →
Other states

Best small towns in other states