# Texas State Highway 21

State Highway 21 (SH 21) runs from the Texas-Louisiana boundary east of San Augustine to San Marcos in east and central Texas. SH 21 mostly follows the alignment of the Old San Antonio Road and the El Camino Real, except for the portion between Midway and Bryan, where the Old San Antonio Road took a more northerly route, and SH 21 follows a more direct route. That section of the Old San Antonio Road is served by Texas State Highway OSR.

## History

SH 21 was one of the original 25 routes proposed in Texas on June 21, 1917, along a route from the Louisiana state line east of St. Augustine to Gonzales, overlaid on top of the Gonzales-St. Augustine Highway. There was proposed extension southward to Karnes City on February 18, 1918. On July 16, 1923, the terminus was shortened to Giddings, with the section south of there being cancelled. A spur, SH 21 Spur, was designated on March 19, 1930, from Milam to Hemphill. On August 1, 1930, this spur became part of SH 87. On September 29, 1933, SH 21 was extended to Lockhart. On July 15, 1935, the section from Giddings to Lockhart was cancelled, and SH 21 was rerouted though Lincoln, replacing part of SH OSR, and followed SH 44 to Giddings. On October 21, 1936, SH 21 Spur to Chireno was added. On May 18, 1937, the spur in Chireno became a loop, SH 21 Loop. On February 21, 1938, another SH 21 Spur to McMahan's Chapel was added. On April 19, 1938, the section of SH 21 from Lincoln to Giddings was cancelled, and SH 21 was extended to Bastrop, replacing part of SH OSR. On September 26, 1939, the section from Paige to Bastrop was cancelled, as it was already part of US 290. The spur and loop became Loop 34 (Chireno) and Spur 35 (McMahan's Chapel). On August 2, 1943, the western terminus had been extended to end in San Marcos, along its current route, replacing part of SH OSR.
On June 24, 2010, the SH 21 designation was extended along SH 80 and SH 142 to end at I-35.

## Major intersections

| County | Location | mi | km | Exit | Destinations | Notes |
| Hays | San Marcos | 0.0– 0.2 | 0.0– 0.32 | | I-35 / SH 80 north – Wimberley, San Antonio, Austin | I-35 exit 205; west end of SH 80 overlap |
| Hays | San Marcos | 0.9 | 1.4 | | SH 80 south / SH 142 east – Lockhart, Luling, Martindale | Interchange; east end of SH 80 / SH 142 overlap |
| Caldwell–Hays county line | ​ | 6.4 | 10.3 | | FM 1966 east – Maxwell | |
| Caldwell–Hays county line | ​ | 7.8 | 12.6 | | RM 150 west – Kyle | |
| Hays | Uhland | 9.3 | 15.0 | | FM 2720 south to SH 142 | |
| Caldwell | Niederwald | 13.9 | 22.4 | | FM 2001 east – Lockhart | West end of FM 2001 overlap |
| Caldwell–Hays county line | Niederwald | 15.3 | 24.6 | | FM 2001 west – Buda | East end of FM 2001 overlap |
| Caldwell | Mustang Ridge | 18.0– 18.2 | 29.0– 29.3 | | SH 130 Toll / US 183 – Waco, Austin, Lockhart, Seguin, San Antonio | SH 130 exit 461/463 |
| Caldwell | Mustang Ridge | 19.0 | 30.6 | | FM 1854 south – Lytton Springs | |
| Bastrop | Saint Mary's Colony | 25.5 | 41.0 | | FM 812 – Elroy, Red Rock | Interchange |
| Bastrop | Cedar Creek | 30.3 | 48.8 | | FM 535 – Rosanky, Rockne | |
| Bastrop | ​ | 34.5 | 55.5 | | FM 1209 north | |
| Bastrop | ​ | 35.8 | 57.6 | | SH 71 west – Austin | Interchange; west end of SH 71 overlap |
| Bastrop | Bastrop | 37.8 | 60.8 | | FM 20 south / FM 969 west – Lockhart | interchange; west end of freeway |
| Bastrop | Bastrop | 39.1 | 62.9 | | SH 304 south / FM 969 west | |
| Bastrop | Bastrop | 40.0 | 64.4 | | Loop 150 east / Hasler Boulevard / Childers Street | Interchange; east end of freeway |
| Bastrop | Bastrop | 42.1 | 67.8 | | SH 71 east / SH 95 south – Smithville | Interchange; east end of SH 71 overlap; west end of SH 95 overlap |
| Bastrop | Bastrop | 42.8 | 68.9 | | SH 95 north / Loop 150 west – Elgin | east end of SH 95 overlap; west end of Loop 150 overlap |
| Bastrop | Bastrop | 43.5 | 70.0 | | Loop 150 east – Smithville | East end of Loop 150 overlap |
| Bastrop | Bastrop | 43.6 | 70.2 | | PR 1A – Bastrop State Park | |
| Bastrop | Circle D-KC Estates | 48.6 | 78.2 | | FM 1441 west – Lake Bastrop, Lost Pines Scout Reservation | |
| Bastrop | Paige | 55.2– 55.4 | 88.8– 89.2 | | US 290 – Austin, Paige, Giddings | Interchange |
| Lee | ​ | 62.7 | 100.9 | | FM 2440 east – Giddings | |
| Lee | Lincoln | 67.4 | 108.5 | | FM 1624 – Fedor, Giddings | |
| Lee | ​ | 69.5 | 111.8 | | US 77 – Giddings, Lexington, Rockdale | Interchange |
| Lee | ​ | 74.1 | 119.3 | | FM 3403 west | |
| Lee | Old Dime Box | 77.8 | 125.2 | | FM 141 south – Dime Box, Nails Creek State Park | |
| Burleson | ​ | 82.4 | 132.6 | | FM 696 north – Lexington | |
| Burleson | San Antonio Prairie | 84.8 | 136.5 | | FM 60 south – Deanville, Lake Somerville State Park | |
| Burleson | ​ | 88.2 | 141.9 | | FM 908 north – Rockdale | |
| Burleson | Caldwell | 91.4 | 147.1 | | FM 975 (Banks Street) | |
| Burleson | Caldwell | 92.4 | 148.7 | | Loop 83 (Main Street) – Business District | |
| Burleson | Caldwell | 92.6 | 149.0 | | SH 36 – Cameron, Milano, Somerville, Brenham | |
| Burleson | ​ | 94.0 | 151.3 | | FM 2000 | |
| Burleson | ​ | 98.3 | 158.2 | | FM 1362 north | West end of FM 1362 overlap |
| Burleson | Cooks Point | 99.0 | 159.3 | | FM 1362 south | East end of FM 1362 overlap |
| Burleson | ​ | 103.5 | 166.6 | | FM 50 south – Independence | West end of FM 50 overlap |
| Brazos | ​ | 105.0 | 169.0 | | FM 50 north – Mumford | East end of FM 50 overlap |
| Brazos | ​ | 106.5 | 171.4 | | SH OSR east | |
| Brazos | ​ | 108.8 | 175.1 | | SH 47 south – College Station, Texas A&M University | Interchange |
| Brazos | Bryan | 112.9– 113.0 | 181.7– 181.9 | | FM 2818 (North Harvey Mitchell Parkway) – College Station | Interchange |
| Brazos | Bryan | 114.2 | 183.8 | | FM 158 east (West William J. Bryan Parkway) / FM 1687 west (Sandy Point Road) – Huntsville, Lake Bryan, Hamilton Unit | |
| Brazos | Bryan | 115.5 | 185.9 | | Bus. SH 6-R (Texas Avenue) – Hearne, College Station, Downtown Bryan | |
| Brazos | Bryan | 115.8 | 186.4 | | FM 974 east (Tabor Road) – Tabor | |
| Brazos | Bryan | 116.4– 116.5 | 187.3– 187.5 | | US 190 west / SH 6 – Waco, Houston | Interchange; west end of US 190 overlap |
| Brazos | Wixon Valley | 121.3 | 195.2 | | FM 2776 north | |
| Brazos | Kurten | 124.2 | 199.9 | | Bus. SH 21-H east – Kurten | |
| Brazos | Kurten | 124.6 | 200.5 | | FM 2038 – Kurten | |
| Brazos | Kurten | 125.5 | 202.0 | | Bus. SH 21-H west – Kurten | |
| Brazos | ​ | 130.7 | 210.3 | | FM 974 west – Edge | |
| Madison | ​ | 134.2 | 216.0 | | FM 2865 north | |
| Madison | North Zulch | 137.9 | 221.9 | | FM 39 – Normangee, Iola | Interchange |
| Madison | North Zulch | 138.1 | 222.3 | | Loop 160 east (Trinity Avenue) | |
| Madison | North Zulch | 138.6 | 223.1 | | Loop 160 west (Fifth Street) | |
| Madison | Cottonwood | 146.1 | 235.1 | | FM 1372 west | |
| Madison | ​ | 148.5 | 239.0 | | FM 1452 west | West end of FM 1452 overlap |
| Madison | ​ | 148.8 | 239.5 | | FM 1452 east | East end of FM 1452 overlap |
| Madison | Madisonville | 150.4 | 242.0 | | FM 978 west (Woodrow Street) | |
| Madison | Madisonville | 150.7 | 242.5 | | Spur 174 south (Madison Street) | |
| Madison | Madisonville | 150.9 | 242.9 | | SH 75 (May Street) to I-45 north / SH 90 – Buffalo, Huntsville, Navasota | |
| Madison | Madisonville | 152.9– 153.0 | 246.1– 246.2 | | I-45 / US 190 east – Dallas, Houston | I-45 exit 142; east end of US 190 overlap |
| Madison | Jenkins | 154.5 | 248.6 | | FM 2346 north | |
| Madison | ​ | 155.6 | 250.4 | | FM 1428 east | |
| Madison | ​ | 160.8 | 258.8 | | FM 2158 south | |
| Madison | Midway | 161.8 | 260.4 | | SH OSR west – Normangee | |
| Madison | Midway | 161.9 | 260.6 | | FM 247 south – Ferguson Unit | |
| Madison | Midway | 162.2 | 261.0 | | FM 2548 east / FM 3060 north | |
| Madison | Antioch | 166.1 | 267.3 | | FM 2548 west | |
| Houston | Sand Ridge | 169.8 | 273.3 | | FM 2498 north | |
| Houston | Mapleton | 171.4 | 275.8 | | FM 3275 south | |
| Houston | Austonio | 175.1 | 281.8 | | FM 1280 west | west end of FM 1280 overlap |
| Houston | Austonio | 175.2 | 282.0 | | FM 1280 east | east end of FM 1280 overlap |
| Houston | Cooper | 180.0 | 289.7 | | FM 2967 north – Porter Springs | |
| Houston | ​ | 187.9 | 302.4 | | SH 7 west – Centerville | West end of SH 7 overlap |
| Houston | Crockett | 188.3 | 303.0 | | Loop 304 (truck route) | |
| Houston | Crockett | 189.0 | 304.2 | | FM 229 to FM 2076 | |
| Houston | Crockett | 189.6– 189.7 | 305.1– 305.3 | | US 287 / SH 7 east / SH 19 | East end of SH 7 overlap; traffic circle around Houston County Courthouse |
| Houston | Crockett | 189.8 | 305.5 | | FM 2022 north (North Sixth Street) | |
| Houston | Crockett | 191.0 | 307.4 | | Loop 304 (truck route) | |
| Houston | ​ | 193.6 | 311.6 | | FM 3187 south | |
| Houston | Belott | 201.4 | 324.1 | | FM 1733 | |
| Houston | ​ | 208.7 | 335.9 | | FM 227 east – Ratcliff | West end of FM 227 overlap |
| Houston | ​ | 209.3 | 336.8 | | FM 227 west – Grapeland, Augusta | East end of FM 227 overlap |
| Houston | Weches | 210.8 | 339.2 | | PR 44 – Mission Tejas State Park | |
| Cherokee | Weeping Mary | 220.2 | 354.4 | | FM 220 south – Cold Springs | |
| Cherokee | Alto | 223.0 | 358.9 | | SH 294 west (Elkhart Street) – Elkhart | |
| Cherokee | Alto | 223.2 | 359.2 | | US 69 (Marcus Street) – Rusk, Lufkin | |
| Cherokee | Linwood | 228.0 | 366.9 | | FM 241 north – Salem | |
| Cherokee | Linwood | 228.2 | 367.3 | | FM 2708 south | |
| Nacogdoches | Douglass | 234.7 | 377.7 | | FM 225 south | West end of FM 225 overlap |
| Nacogdoches | Douglass | 234.7 | 377.7 | | FM 225 north – Cushing | East end of FM 225 overlap |
| Nacogdoches | Nacogdoches | 247.3 | 398.0 | | US 59 north / Loop 224 east (Stallings Drive) to SH 7 Bus. SH 21-P east | Interchange; western end of US 59/Loop 224 concurrency; western terminus of Bus. SH 21-P |
| Nacogdoches | Nacogdoches | 248.2– 248.6 | 399.4– 400.1 | | FM 225 (Durst Street) | Interchange |
| Nacogdoches | Nacogdoches | 249.1– 249.6 | 400.9– 401.7 | | SH 7 west (South Fredonia Street) / Bus. SH 7-N east – Crockett | Interchange; western end of SH 7 concurrency; western terminus of Bus. SH 7-N |
| Nacogdoches | Nacogdoches | 249.6 | 401.7 | | US 59 south | Future interchange; future eastern end of US 59 concurrency |
| Nacogdoches | Nacogdoches | 250.0– 250.4 | 402.3– 403.0 | 59S | US 59 south / Bus. US 59-F north (South Street) – Lufkin | Interchange; eastern end of US 59 concurrency; southern terminus of Bus. US 59-F; signed as exit 59S eastbound only |
| Nacogdoches | Nacogdoches | 250.9 | 403.8 | | FM 2863 south (New Press Road) / Hunter Street | Northern terminus of FM 2863 |
| Nacogdoches | Nacogdoches | 251.8 | 405.2 | | FM 1275 north (South University Drive) | Western end of FM 1275 concurrency |
| Nacogdoches | Nacogdoches | 251.9 | 405.4 | | FM 1275 south (South Rayburn Drive) | Eastern end of FM 1275 concurrency |
| Nacogdoches | Nacogdoches | 252.5 | 406.4 | | FM 2259 (Woden Road) | |
| Nacogdoches | Nacogdoches | 253.7 | 408.3 | | Loop 224 west / SH 7 east Bus. SH 21-P west (Main Street) | Interchange; eastern end of SH 7/Loop 224 concurrency; eastern terminus of Bus. SH 21-P |
| Nacogdoches | Oak Ridge | 256.9 | 413.4 | | FM 226 south – Woden, Etoile | |
| Nacogdoches | Melrose | 260.7 | 419.6 | | FM 3276 north | |
| Nacogdoches | Chireno | 269.5 | 433.7 | | FM 95 / Loop 34 south – Martinsville, Chireno | |
| Nacogdoches | Chireno | 270.2 | 434.8 | | Loop 34 south – Chireno | |
| San Augustine | ​ | 273.0 | 439.4 | | FM 1196 south | |
| San Augustine | Denning | 276.3 | 444.7 | | FM 354 north | |
| San Augustine | ​ | 277.8 | 447.1 | | FM 3409 south | |
| San Augustine | ​ | 281.2 | 452.5 | | Spur 85 south | |
| San Augustine | San Augustine | 283.5 | 456.2 | | US 96 – Center, Jasper | |
| San Augustine | San Augustine | 283.9 | 456.9 | | Loop 547 east (West Columbia Street) | |
| San Augustine | San Augustine | 284.3 | 457.5 | | SH 147 south (South Broadway Street) – El Camino Real Tourist Center (Mission Dolores) | West end of SH 147 overlap; west end of Loop 547 east overlap (eastbound only) |
| San Augustine | San Augustine | 284.3 | 457.5 | | FM 3230 north (South Harrison Street) / Loop 547 | east end of Loop 547 east overlap (eastbound only) |
| San Augustine | San Augustine | 284.5 | 457.9 | | FM 2213 south (South Liberty Street) | |
| San Augustine | San Augustine | 284.9 | 458.5 | | SH 147 north (South Clark Street) | East end of SH 147 overlap |
| San Augustine | San Augustine | 284.9 | 458.5 | | Loop 547 west (East Columbia Street) to SH 147 north | |
| San Augustine | San Augustine | 285.4 | 459.3 | | FM 3483 south | |
| San Augustine | ​ | 289.1 | 465.3 | | FM 3153 east | |
| San Augustine | Fords Corner | 291.7 | 469.4 | | FM 1 south – Hemphill, Pineland, Bronson | |
| Sabine | ​ | 293.6 | 472.5 | | Spur 35 south – McMahan Chapel | |
| Sabine | ​ | 295.1 | 474.9 | | FM 3448 north | |
| Sabine | Geneva | 297.4 | 478.6 | | FM 330 north (Geneva Sexton Road) | |
| Sabine | ​ | 300.8 | 484.1 | | SH 103 west – Lufkin | |
| Sabine | Milam | 303.6 | 488.6 | | SH 87 – Red Hill Lake, Center, Hemphill, Patricia Huffman Smith NASA Museum | |
| Sabine | ​ | 307.5 | 494.9 | | FM 3121 south – Indian Mounds Wilderness | |
| Sabine | ​ | 312.5 | 502.9 | | LA 6 east – Many | Louisiana state line (bridge over Sabine River (Toledo Bend Reservoir)) |
| 1.000 mi = 1.609 km; 1.000 km = 0.621 mi ||||||

## Business routes

SH 21 has two business routes.

### Kurten business route

Business State Highway 21-H (Bus. SH 21-H) is a 1.362-mile (2.192 km) long business route that runs through Kurten in central Texas. The route was formed from an old section of SH 21 on February 28, 2002, when SH 21 proper was moved onto a new bypass around Kurten.

### Nacogdoches business route

Business State Highway 21-P (Bus. SH 21-P) is a 4.170-mile (6.711 km) long business route that runs through Nacogdoches in eastern Texas. The route was formed from an old section of SH 21, when the main highway was re-routed onto Loop 224 and US 59 on October 25, 2018.

#### Major intersections

The entire route is in Nacogdoches, Nacogdoches County.
| mi | km | Destinations | Notes |
| 0.000 | 0.000 | US 59 / SH 21 east / Loop 224 (Stallings Drive) SH 21 west (Douglass Road) | Western terminus; road continues as SH 21 west |
| 1.341 | 2.158 | FM 225 west (Durst Street) | Eastern terminus of FM 225 |
| 1.803 | 2.902 | Bus. US 59 / Bus. SH 7-N west (North Street/South Street) | Western end of Bus. SH 7-N concurrency |
| 2.375 | 3.822 | FM 1275 (University Drive) | |
| 2.487 | 4.002 | FM 2259 south (Shawnee Street) | Northern terminus of FM 2259 |
| 3.043 | 4.897 | Bus. SH 7-N east (Center Road) | Eastern end of Bus. SH 7-N concurrency |
| 4.170 | 6.711 | SH 7 (Stallings Drive) / SH 21 west / Loop 224 SH 21 east (Main Street) | Eastern terminus; road continues as SH 21 east |
| 1.000 mi = 1.609 km; 1.000 km = 0.621 mi Concurrency terminus ||||