Richmond is a county in North Carolina, United States, on the state’s central southern border with South Carolina. It had a population of 42,946 at the 2020 census and covers 480 square miles (1,242 km2) centred near 35°00′N 79°46′W.
Rockingham is the county seat, and its postal code is 28379. The county has two cities, four towns and two census-designated places, plus seven townships. Richmond County is in the Eastern time zone.
Towns & Villages in Richmond County
Richmond County has eight recognized places: two incorporated cities, four incorporated towns, and two census-designated places (CDPs, unincorporated). Several smaller crossroads and mill-village names from older maps — Bunker Hill, Capels Mill, Cognac, Covington, Diggs, Everetts Mill, Fruitland, Glenwood, Ledbetter, Mangum, Osborne, Philadelphia, Piney Grove, Plain View, Steen Town, Walls Landing and Yates Hill among them — are historical community names within the townships below rather than separately incorporated or census-tracked places, and are not listed in the table.
| Place | Type | Township | Pop. | ZIP |
|---|---|---|---|---|
| Rockingham | City · seat | Rockingham | 9,242 | 28379 |
| Hamlet | City | Rockingham | 5,721 | 28345 |
| Ellerbe | Town | Mark’s Creek | 1,022 | 28338 |
| Dobbins Heights | Town | Rockingham | 1,079 | 28379 |
| Hoffman | Town | Steeles | 683 | 28347 |
| Norman | Town | Steeles | 78 | 28367 |
| East Rockingham | CDP | Rockingham | 2,278 | 28379 |
| Roberdel | CDP | Rockingham | 1,401 | 28379 |
Marston, a mill village on the Steeles/Beaverdam township line, is not a Census Bureau-designated place but shares the 28363 ZIP code and is often listed alongside the incorporated towns on county maps. Cordova, near the Anson County line, likewise carries its own ZIP (28330) without separate incorporation.
Townships
| Township | Pop. (2020) | Main settlements |
|---|---|---|
| Rockingham | — | Rockingham, Hamlet, East Rockingham, Roberdel, Dobbins Heights |
| Steeles | — | Hoffman, Norman |
| Mineral Springs | — | Diggs, Piney Grove |
| Beaverdam | — | Marston, Fruitland |
| Mark’s Creek | — | Ellerbe, Ledbetter |
| Wolf Pit | — | Covington, Osborne |
| Blackjack | — | Cordova, Cognac |
Township-level population is not separately published by the Census Bureau for Richmond County, so figures are omitted rather than estimated.
ZIP Codes
- 28379 — Rockingham (also serves East Rockingham, Roberdel, Dobbins Heights)
- 28345 — Hamlet
- 28338 — Ellerbe
- 28347 — Hoffman
- 28363 — Marston
- 28330 — Cordova (PO Box)
- 28367 — Norman (PO Box)
Small crossroads communities without their own post office, such as Diggs and Piney Grove, use the ZIP code of the nearest listed town.
Geography
Richmond County sits in the Sandhills region of south-central North Carolina, a belt of sandy, gently rolling terrain transitional between the Piedmont and the Coastal Plain. The Pee Dee River forms most of the county’s western and southwestern boundary, and Hitchcock Creek and Little Mountain Creek drain the interior. Of the county’s 480 square miles, about 6 square miles is water.
Richmond County borders Montgomery County to the north, Moore County to the northeast (no verified live page), Scotland County to the south, Anson County to the west, and Marlboro County, South Carolina to the east across the state line.
Demographics
The 2020 census counted 42,946 residents. Rockingham, the county seat, is the largest place at 9,242, followed by Hamlet at 5,721 — together the two cities hold about a third of the county’s population. Richmond County’s median household income runs well below the North Carolina median of $70,804; the U.S. Census Bureau’s most recent American Community Survey estimate and the state’s Department of Commerce both classify the county among North Carolina’s economically distressed counties. Population density is roughly 91 people per square mile.
Economy & Local Life
Richmond County’s economy has historically centred on textile manufacturing, and the industry’s decline over recent decades reshaped the local job market; healthcare (FirstHealth Richmond Memorial Hospital), local government, education (Richmond Community College), and logistics along the CSX rail corridor are now among the largest employers. Rockingham Speedway, a NASCAR-era short track on US 1 north of the city, remains a regional draw for motorsports events. Hamlet is home to the National Railroad Museum, marking the town’s history as a Seaboard Air Line Railroad junction.
History
Richmond County was formed in 1779 from a portion of Anson County and named for Charles Lennox, 3rd Duke of Richmond and Lennox, a British peer who publicly supported the American colonies during the Revolution. Rockingham was established as the county seat soon after. Hamlet grew up in the 1870sโ1890s as a railroad junction town where the Seaboard Air Line’s lines crossed, and by the early 20th century the county’s economy was dominated by cotton textile mills built around Rockingham, Hamlet, Ellerbe and Roberdel.
Getting There
US 1 and US 74 (upgrading to Interstates 73/74) cross the county through Rockingham and Hamlet; US 220 and NC routes 38, 73, 109, 177 and 381 provide local connections. Amtrak’s Silver Star stops in Hamlet.
- Fayetteville — 45 miles northeast
- Charlotte — 65 miles west
- Pinehurst — 25 miles north
- Florence, SC — 55 miles southeast
The nearest commercial airport is Fayetteville Regional Airport; Charlotte Douglas International Airport offers a wider range of connections.
Frequently Asked Questions
Where is Richmond County, North Carolina?
It lies on North Carolina’s central southern border with South Carolina, in the Sandhills region between the Piedmont and the Coastal Plain.
What is the population of Richmond County?
42,946 at the 2020 census.
How big is Richmond County?
480 square miles (1,242 km2), of which about 6 square miles is water.
What is the county seat of Richmond County?
Rockingham is the county seat.
How many towns are in Richmond County?
Two cities (Rockingham and Hamlet), four towns (Dobbins Heights, Ellerbe, Hoffman and Norman), and two census-designated places (East Rockingham and Roberdel).
What ZIP codes are in Richmond County?
28379 (Rockingham), 28345 (Hamlet), 28338 (Ellerbe), 28347 (Hoffman), 28363 (Marston), 28330 (Cordova) and 28367 (Norman).
Why is it named Richmond County?
It was named for Charles Lennox, 3rd Duke of Richmond and Lennox, an English MP who supported American independence.
More counties in this state: Towns and villages in North Carolina.