Union County is a county in North Carolina, United States, about 25 miles southeast of Charlotte. It had a population of 238,267 at the 2020 census, an estimated 267,674 by 2024, and covers 632.74 square miles (1,638.8 km2) of land centred near 34°59′N 80°32′W.
Monroe is the county seat; its postal code is 28110. The county holds 1 city, 13 incorporated towns and villages, and a handful of unincorporated communities, and it runs on Eastern Time.
Towns & Villages in Union County
Union County has 18 named places on record: 14 incorporated municipalities, one census-designated place (JAARS), and several unincorporated communities with no local government of their own. Three of the incorporated places — Lake Park, Marvin and Wesley Chapel — are chartered as villages under North Carolina law but are labelled Town below to match the rest of the table.
| Place | Type | Pop. | ZIP |
|---|---|---|---|
| Monroe | City · seat | 34,562 | 28110 |
| Indian Trail | Town | 39,997 | 28079 |
| Waxhaw | Town | 20,534 | 28173 |
| Stallings | Town | 16,112 | 28104 |
| Weddington | Town | 13,181 | 28104 |
| Wesley Chapel | Town | 8,681 | 28104 |
| Unionville | Town | 6,643 | — |
| Marvin | Town | 6,358 | 28173 |
| Wingate | Town | 4,055 | 28174 |
| Fairview | Town | 3,463 | 28110 |
| Lake Park | Town | 3,269 | 28079 |
| Mineral Springs | Town | 3,159 | 28108 |
| Marshville | Town | 2,522 | 28103 |
| Hemby Bridge | Town | 1,615 | 28079 |
| JAARS | CDP | — | 28173 |
| Brief | Unincorp. | — | — |
| New Salem | Unincorp. | — | — |
| Olive Branch | Unincorp. | — | — |
Stallings sits mostly in Union County but its town limits also reach a short distance into neighbouring Mecklenburg County, so its population figure above is citywide rather than Union County’s share alone. Wesley Chapel and Marvin both share ZIP codes with several neighbouring towns because their addresses are administered from post offices outside their own boundaries.
ZIP Codes
- 28110 — Monroe and Fairview (Monroe also uses 28111 and 28112 for PO boxes)
- 28079 — Indian Trail, Lake Park and Hemby Bridge
- 28173 — Waxhaw, Marvin and JAARS
- 28104 — Stallings, Weddington and Wesley Chapel (shared with Matthews across the Mecklenburg line)
- 28108 — Mineral Springs
- 28103 — Marshville
- 28174 — Wingate
Unionville, Brief, New Salem and Olive Branch have no ZIP code of their own; mail there is delivered under a neighbouring town’s code.
Geography
Union County lies in North Carolina’s southern Piedmont, a belt of rolling hills and hardwood forest between Charlotte and the Uwharrie Mountains. Of its 639.65 square miles, 632.74 are land and 6.91 are water, about 1.1 percent — the county has no large natural lake, and its water surface comes mainly from small reservoirs and the Rocky River and Lanes Creek drainages. The county still carries nine historic civil townships — Buford, Goose Creek, Jackson, Lanes Creek, Marshville, Monroe, New Salem, Sandy Ridge and Vance — but they no longer function as units of local government and the Census Bureau does not publish separate population counts for them today.
Cabarrus County lies to the north, Stanly County to the northeast, Anson County to the east, Chesterfield County, South Carolina, to the southeast, Lancaster County, South Carolina, to the south, and Mecklenburg County, home to Charlotte, to the west. Cabarrus County, Stanly County, Anson County, Lancaster County and Mecklenburg County all have their own pages on this site; Chesterfield County, South Carolina, does not.
Demographics
Union County had a population of 238,267 at the 2020 census, and the Census Bureau’s latest vintage estimate puts the county near 267,674 residents. Indian Trail and Monroe are the two largest communities, together holding roughly a third of the county’s population. Median household income runs about $102,900 as of 2024, well above North Carolina’s statewide 2023 figure of $70,804. Population density works out to roughly 377 people per square mile of land, reflecting the county’s position inside the fast-growing Charlotte-Concord-Gastonia metropolitan area.
Economy & Local Life
Retail trade employs the most workers in the county, about 14,542 people, followed closely by manufacturing at 14,018 and health care and social assistance at 13,812. Atrium Health Union, a 157-bed acute-care hospital in Monroe, is the county’s largest single health care employer. Ludwig Drums has manufactured drums and timpani in Monroe since 1984, giving the county a niche in musical-instrument manufacturing. Wingate University, a private college in Wingate with more than 3,450 students, anchors the town’s economy and trains a large share of its students for pharmacy, physician-assistant and nursing careers. Near Waxhaw, JAARS, a Christian mission-support and aviation-training organization, employs more than 400 people on its 630-acre base. The county’s biggest annual event is the Queens Cup Steeplechase, a horse race held each spring in Mineral Springs.
History
North Carolina’s General Assembly formed Union County in 1842, carving it out of Anson County and Mecklenburg County. Its name was a political compromise: Whigs wanted to name the new county for Henry Clay and Democrats wanted to name it for Andrew Jackson, so lawmakers settled on the neutral “Union” instead. Monroe was incorporated as the county seat in 1843 and named for President James Monroe.
In 1958, Monroe drew national attention in the case known as the Kissing Case. Two Black boys, aged seven and nine, were convicted of “molestation” and sentenced to a reformatory until age 21 after playing a kissing game with a white girl their own age. Local NAACP leader Robert F. Williams hired civil rights attorney Conrad Lynn to fight the sentence, and Eleanor Roosevelt intervened directly with the governor. The governor pardoned both boys after roughly three months.
Getting There
No interstate highway crosses Union County. US 74 and US 601 are the main through routes, along with NC 16, NC 75, NC 84, NC 200, NC 205, NC 207, NC 218, NC 522 and NC 742.
- Charlotte — about 25 miles northwest
- Rock Hill, South Carolina — about 20 miles southwest
- Albemarle — about 30 miles northeast
- Wadesboro — about 25 miles southeast
Charlotte Douglas International Airport, roughly 25 miles northwest of Monroe, is the nearest major commercial airport. Charlotte-Monroe Executive Airport, five miles northwest of downtown Monroe, handles general aviation and charter flights. The county has no Amtrak station of its own; the nearest is Charlotte’s uptown station, about 25 miles away.
Frequently Asked Questions
Where is Union County located?
It sits in North Carolina’s southern Piedmont, about 25 miles southeast of Charlotte, bordered by Cabarrus, Stanly, Anson and Mecklenburg counties in North Carolina and Chesterfield and Lancaster counties in South Carolina.
What is the population of Union County?
238,267 at the 2020 census, with a Census Bureau vintage estimate near 267,674.
How big is Union County?
639.65 square miles (1,656.7 km2) in total, of which 632.74 square miles are land.
What is the county seat of Union County?
Monroe is the county seat, incorporated in 1843 and named for President James Monroe.
How many towns are in Union County?
Fourteen incorporated municipalities — Monroe, Indian Trail, Waxhaw, Stallings, Weddington, Wesley Chapel, Unionville, Marvin, Wingate, Fairview, Lake Park, Mineral Springs, Marshville and Hemby Bridge — plus the JAARS census-designated place and several unincorporated communities.
What ZIP codes does Union County use?
28110 for Monroe and Fairview, 28079 for Indian Trail, Lake Park and Hemby Bridge, 28173 for Waxhaw and Marvin, 28104 for Stallings and Weddington, 28108 for Mineral Springs, 28103 for Marshville and 28174 for Wingate.
What is Union County known for?
Rapid growth as a Charlotte suburb, Wingate University’s pharmacy and health-sciences programs, and the 1958 Kissing Case in Monroe, a civil rights case that drew Eleanor Roosevelt’s intervention.
More counties in this state: Towns and villages in North Carolina.