The Highways of North Carolina
U.S. 21 
< 19-W | Home | 21 Bus | 21 Truck | 21-W >
Photo: US 21 entering N.C. from Virginia (Mapmikey)
US 21
U.S. 21  122 miles
The Road: Enters from South Carolina near Pineville (Mecklenburg County) and leaves into Virginia above Twin Oaks (Alleghany County). Nationally the road runs from US hunting Island, SC to I-81/US 52 Wytheville, VA
Towns and Attractions: Mecklenburg Co.: Carowinds, Charlotte  
Iredell Co.: Troutman, Statesville  
Yadkin Co.: Jonesville  
Surry Co.: Elkin  
Wilkes Co.: None  
Alleghany Co.: Blue Ridge Pkwy, Sparta 
History: US 21 is an original US Highway. It attached itself to NC 261 from South Carolina to Pineville; NC 26 from Pineville to Virginia. The 1925 US Routing plan initially sent US 21 with NC 15 from Charlotte to Salisbury, then with US 70/NC 10 over to Statesville, as shown on a 1926 Rand McN map. In 1926, US 21 was given direct routing over NC 26 to Huntersville. Statesville to Salisbury remained US 70 and Charlotte to Salisbury became US 170.

1926 Auto Trails
US 21 initially to Concord/Salisbury
1926 Auto Trails
1928 Gen Draft
US 21 in its familiar place
1928 Gen Draft

In the beginning, US 21 entered North Carolina on today's NC 51 to Pineville; Polk St to Old pineville Rd; South Blvd; SR 1308 Old South Blvd; South Blvd into Charlotte.
US 21 followed South Blvd. NE to Moorhead St., then NW to Tryon St, then NE to 1st St., then NW to Mint St, (the 1st street piece was a multiplex with its parent, NC 20). US 21 proceeded NE to W. Trade St (NC 27 then), then NW to N. Graham St., then NE to Statesville Rd, which US 21 used to head north out of Charlotte.
US 21 then followed today's NC 115 through Huntersville, Davidson, Mooresville, and Statesville. North of Statesville, US 21 used its current route, plus US 21 Business to Jonesville and Elkins.
From Elkins, US 21 followed 21 Bus, SR 1146 throgh Elkin Valley, then after a little more 21 Bus, SR 1161 to State Road. US 21 then used Wilkes SR 2070 and SR 1902 to Thurmond. Initially, US 21 followed SR 1901 "Old US 21" back to today's US 21 through Doughton to Alleghany County.
At Roaring Gap, US 21 used SR 1478 and SR 1178 loops. In Cherry Lane US 21 used the SR 1107 loop and in Glade Valley it used the SR 1119 loop. Otherwise it seems US 21 pretty much used its current route to Sparta, Twin Oaks and to the Virginia Line.
Between 1927-30. Instead of 1st St US 21 used 11th St to cut from Tryon to Graham. Also, US 21 was removed from Old Pineville Rd near Scaleybark Rd.
Between 1931-36, US 21 was removed from "Old Pineville Rd" loop near today's I-485.
About 1937, US 21 was rerouted in Charlotte to use Morehead St to cut over to Graham St, instead of using 11th St.

1922 Auto Trails
US 21 using 1st St
1922 Auto Trails
1932 Texaco
US 21 using 11th St
1932 Texaco
1937 Texaco
US 21 using Morehead St
1937 Texaco


In 1937 or 1938, US 21 was put on its modern routing through Glade Valley, Cherry Lane and Roaring Gap.
Between 1939-44, US 21 was removed from Old US 21 at Thurmond.
Between 1942-44, US 21 was rerouted in Elkin-Jonesville to use Gwynn St across the Yadkin River instead of Bridge St. This left behind SR 1148 in Elkin and SR 1510 Main St in Jonesville.
About 1956, US 21 was removed through Mooresville, Davidson and Huntersville down to the northern edge of Charlotte, replaced by NC 115.

1955 Gen Draft
US 21 through Mooresville, etc
1955 Gen Draft
1957 Official
US 21 bypasses everything
1957 Official

About 1957, US 21 was placed on its modern routing (using 21 Bus still) from Elkin to Thurmond.
About 1966, US 21 was given its bypass of Elkin-Jonesville, leaving behind US 21 Business. Most of the bypass was also part of I-77.

1965 Official
US 21 through the towns
1965 Official
1968 Official
US 21 bypassing them
1968 Official

In October 1968 (NCDOT), US 21 was rerouted from S.C. to Charlotte, running on today's I-77 from S.C. to Woodlawn Rd, then east to South Blvd. The old route became more NC 51 and an extended US 521 into Charlotte.
In 1975, US 21 was added to I-77 from Woodlawn Rd to NC 16 over to Statesville Rd. Woodlawn Rd became part of US 521 while South Blvd north to Morehead became unnumbered; Graham St remaind US 29.
In 1978, US 21 was added to I-77 from NC 16 to La Salle St then over to Statesville Rd. South of La Salle, Statesville became unnumbered.
In May 1984 (NCDOT), US 21 was added to more I-77 from La Salle St to Sunset Rd over to Statesville Rd. This left behind more unnumbered routing.

1969 Official
US 21 onto new freeway
1969 Official
1976 Official
US 21 onto more new freeway
1976 Official
1969 Official
US 21 onto more I-77
1969 Official
1987 Official
US 21 to current routing
1987 Official

Comments: The 1957 Iredell County map shows a bypass of Statesville and Troutman that follows the route of today's I-77. It was labeled as US 21, as was the orignal/current route through these places. This never came to be part of US 21 as I-77 came along as the designation when this was built a few years later. It is unclear what the old route through Statesville would've become. US 21-A? NC 115 and NC 90?
US 21 did have to be slightly rerouted at the NC 73 exit to attach itself to I-77 when it was built through. North of NC 73 I-77 was put directly on US 21 into Iredell County.

Last Update: 15 March 2025

Previous: U.S. 19-W  |  Next: U.S. 21 Bus | U.S. 21 Truck | U.S. 21-W
Top  |  NCRoads.com Home ------------------------------------------------