# List of state highways in North Dakota

The state highways in North Dakota are the state highways owned and maintained by the North Dakota Department of Transportation (NDDOT). North Dakota is a state located in the Midwestern region of the United States, along the Canadian border. The state is bordered by Manitoba and Saskatchewan to the north, Minnesota to the east, South Dakota to the south, and Montana to the west.

## Signage

Until 2016 North Dakota highway signage had an "N" and a "D" in the top corners and a Native American profile, based on Lakota policeman Marcellus Red Tomahawk; since 2016 the marker has had "North Dakota" on a black background, the state in outline, and the highway number within the state outline. This transition to new signs is a slow process that will take years before the old signs are completely out of commission. The state will be replacing the old signs as needed, so both versions can currently be seen while driving on North Dakota roads.
According to NDDOT, this change was made for a number of reasons. These include the department's centennial celebration, to demonstrate the significant spending to improve North Dakota roads in the past few years, and to keep uniformity across the United States, especially with online mapping providers which render individual state shields. According to an NDDOT representative, "a number of different states use their state outline or symbol on the highway signs." Some also cited the North Dakota Fighting Sioux controversy as part of the reason why the state decided to change the shields, to avoid any further offense.

## Mainline highways

| Number | Length (mi) | Length (km) | Southern or western terminus | Northern or eastern terminus | Formed | Removed | Notes |
| ND 1 | — | — | South Dakota state line | Canadian border | 01926-01-011926 | 01927-01-01c. 1927 | became part of US 81 |
| ND 1 | 230.443 | 370.862 | SD-37 near Ludden | PTH 31 in Maida | 01927-01-011927 | current | |
| ND 2 | — | — | South Dakota state line | US 85 at Alexander | 01926-01-011926 | 01927-01-01c. 1927 | middle section became part of US 85 and northern section renumbered ND 42 by 1927; remaining section renumbered ND 16 because of US 2 |
| ND 3 | — | — | Montana state line | Minnesota state line | 01926-01-011926 | 01927-01-01c. 1927 | became part of US 10 |
| ND 3 | 247.530 | 398.361 | SD 45 | US 281 / PTH 10 north of Dunseith | 01927-01-011927 | current | |
| ND 4 | — | — | ND 5 at Rock Lake | Canadian border | 01926-01-011926 | 01939-01-01c. 1939 | section from Rock Lake to the South Dakota state line until that section was transferred to US 281 in 1932; remainder transferred to US 281 by 1940 |
| ND 4 | 10.283 | 16.549 | US 281 / ND 5 in Armourdale | PTH 5 at the Canadian border | 01997-01-011997 | current | |
| ND 5 | 335.813 | 540.439 | MT 5 near Fortuna | MN 175 near Joliette | 01926-01-011926 | current | |
| ND 6 | 67.413 | 108.491 | SD 63 near Maple Leaf, S.D. | I-94 Bus. in Mandan | 01926-01-011926 | current | |
| ND 7 | — | — | MT 200 near Fairview, Mont. | MN 200 near Halstad, Minn. | 01926-01-011926 | 01970-01-011970 | Replaced by ND 200 in 1970 |
| ND 8 | — | — | Montana state line | Minnesota state line | 01926-01-011926 | 01927-01-01c. 1927 | became part of US 2 |
| ND 8 | 211.321 | 340.088 | SD 75 near Hettinger | Hwy 9 in Northgate | 01927-01-011927 | current | |
| ND 9 | 53.597 | 86.256 | US 52 / US 281 in Melville | ND 1 in Rogers | 01926-01-011926 | current | |
| ND 10 | — | — | South Dakota state line | Canadian border | 01926-01-011926 | 01927-01-01c. 1927 | renumbered as ND 3 because of US 10 |
| ND 10 | 14.552 | 23.419 | US 52 / I-94 southwest of Casselton | US 10 near West Fargo | — | — | Unsigned |
| ND 11 | 182.459 | 293.639 | US 83 west of Hague | MN 55 near Fairmount | 01926-01-011926 | current | |
| ND 12 | — | — | ND 5 at Langdon | ND 11 at Oakes | 01926-01-011926 | 01927-01-01c. 1927 | renumbered as ND 1 because of US 12 |
| ND 13 | 205.533 | 330.773 | ND 1804 near Linton | ND 210 in Wahpeton | 01926-01-011926 | current | Originally ended at US 83 at Linton. The westward extension opened in 1980. |
| ND 14 | 175.003 | 281.640 | I-94 in Sterling | PTH 21 north of Carbury | 01926-01-011926 | current | |
| ND 15 | 134.137 | 215.873 | US 52 in Fessenden | I-29 / US 81 near Thompson | 01926-01-011926 | current | |
| ND 16 | — | — | Montana state line | South Dakota state line | 01926-01-011926 | 01927-01-01c. 1927 | became part of US 12 |
| ND 16 | 77.915 | 125.392 | ND 68 north of Trotters | Golva | 01928-01-011928 | current | |
| ND 17 | 140.372 | 225.907 | ND 3 near Barton | MN 317 at the Minnesota state line | 01926-01-011926 | current | |
| ND 18 | 242.147 | 389.698 | SD 25 south of Lidgerwood | PTH 30 north of Neche | 01926-01-011926 | current | |
| ND 19 | 68.988 | 111.025 | CR 19 / CR 11 at the McHenry–Pierce county line | ND 20 in Devils Lake | 01926-01-011926 | current | |
| ND 20 | 170.550 | 274.474 | US 52 / US 281 in Jamestown | PTH 34 near Sarles | 01926-01-011926 | current | |
| ND 21 | 122.384 | 196.958 | US 85 in Slope County | ND 6 north of Breien | 01926-01-011926 | current | |
| ND 22 | 156.051 | 251.140 | SD 79 near Reeder | ND 23 near New Town | 01926-01-011926 | current | |
| ND 23 | 122.028 | 196.385 | US 85 / ND 200 in Watford City | ND 41 near Velva | 01926-01-011926 | current | |
| ND 24 | — | — | Canadian border | South Dakota state line near Petrel | 01926-01-011926 | 01927-01-01c. 1927 | renumbered ND 8 |
| ND 24 | 45.046 | 72.495 | ND 6 east of Selfridge | ND 6 in Breien | 01927-01-011927 | current | former ND 42 west of Fort Yates; rest former route of ND 6 north of Fort Yates (portion north of ND 21 former ND 37) |
| ND 25 | 34.758 | 55.938 | I-94 / I-94 Bus west of Mandan | ND 31 in Hannover | 01926-01-011926 | current | |
| ND 26 | — | — | — | — | 01926-01-011926 | 01927-01-01c. 1927 | became part of US 85 |
| ND 26 | 21.464 | 34.543 | ND 1 in Dazey | ND 32 near Pillsbury | 01931-01-011931 | current | |
| ND 27 | 44.973 | 72.377 | ND 1 north of Verona | ND 18 north of Wyndmere | 01926-01-011926 | current | |
| ND 28 | 67.002 | 107.829 | ND 37 near RoseglenUS 2 at Berthold | ND 23 north of RyderHwy 8 near Sherwood | 01926-01-011926 | current | |
| ND 29 | 150 | 240 | ND 60 west of Overly | MN 11 at Drayton | 01926-01-011926 | 01963-01-011963 | Replaced by ND 66 in 1963, to avoid confusion with nearby I-29 |
| ND 30 | 131.427 | 211.511 | ND 13 in LehrUS 52 / ND 200 near SykestonND 66 near Mylo | I-94 near MedinaUS 2 near YorkPTH 18 near St. John | 01926-01-011926 | current | |
| ND 31 | 69.195 | 111.359 | SD 65 near McIntosh, S.D.I-94 north of New Salem | ND 21 near FlasherStanton | 01926-01-011926 | current | |
| ND 32 | 236.674 | 380.890 | SD 27 near Havana | PTH 32 north of Walhalla | 01926-01-011926 | current | |
| ND 33 | 150 | 240 | Gilby | US 81 at Manvel | 01926-01-011926 | 01965-01-01c. 1965 | Replaced by Grand Forks CR 33 |
| ND 34 | — | — | US 281 west of Fort Totten | US 2 in Devil's Lake | 01926-01-011926 | 01931-01-01c. 1931 | renumbered ND 57 |
| ND 34 | 56.932 | 91.623 | US 83 at Hazelton | ND 56 south of Gackle | 01931-01-011931 | current | previously part of ND 13 |
| ND 35 | — | — | US 83 at Linton | ND 13 at Fredonia | 01926-01-011926 | 01931-01-01c. 1931 | transferred to rerouted ND 13 |
| ND 35 | 27.264 | 43.877 | US 2 at Michigan | ND 17 near Adams | 01931-01-011931 | current | |
| ND 36 | 90.344 | 145.395 | US 83 at Wilton | US 52 / US 281 near Pingree | 01926-01-011926 | current | |
| ND 37 | 61.920 | 99.651 | ND 23 west of Parshall | US 83 east of Garrison | 01926-01-011926 | current | originally St. Anthony to Selfridge; swapped with ND 6 by 1927; extended on current route (replacing part of ND 7) and section south of ND 21 renumbered ND 24 by 1931; section south of ND 6 became an extension of ND 24 by 1939, shortening route to current routing |
| ND 38 | 36.332 | 58.471 | I-94 / US 52 south of Buffalo | ND 32 at Hope | 01926-01-011926 | current | |
| ND 39 | — | — | Mikkelson | US 10 in Medora | 01926-01-011926 | 01937-01-01c. 1937 | Sections from US 85 south of Watford City to Mikkelson and Medora to US 12 in Rhame removed by 1931; rest removed by 1937 |
| ND 39 | 16.3 | 26.2 | Canadian border north of Antler | US 83 east of Mohall | 01937-01-011937 | 01973-01-01c. 1973 | Replaced by ND 256 by 1975 |
| ND 40 | 63.450 | 102.113 | US 2 near Tioga | Hwy 47 north of Noonan | 01926-01-011926 | current | |
| ND 41 | 86.222 | 138.761 | US 83 at Wilton | US 2 north of Norwich | 01926-01-011926 | current | |
| ND 42 | — | — | ND 37 in Selfridge, North Dakota | ND 6 south oif Fort Yates, Fort Yates | 01926-01-011926 | 01927-01-01c. 1927 | transferred to rerouting of ND 37, which also swapped places with ND 6 north of that road |
| ND 42 | 37.441 | 60.255 | ND 50 near Corinth | Hwy 350 north of Ambrose | 01927-01-011927 | current | formerly part of ND 2, which was truncated because portions were transferred to US 85 |
| ND 43 | — | — | Center | Mandan | 01926-01-011926 | 01937-01-01c. 1937 | transferred to extension of ND 25; section from Center to Hazen removed from system by 1931 |
| ND 43 | 23.304 | 37.504 | ND 14 north of Carbury | US 281 / ND 3 near the International Peace Garden | 01931-01-011931 | current | |
| ND 44 | 3.449 | 5.551 | ND 66 at Drayton | I-29 south of Drayton | 01926-01-011926 | current | Unpaved until 1950s |
| ND 45 | 18.048 | 29.045 | ND 200 at Cooperstown | ND 32 west of Sharon | 01927-01-01c. 1927 | current | |
| ND 46 | 120.823 | 194.446 | ND 30 near Streeter | I-29 near Oxbow | 01927-01-01c. 1927 | current | |
| ND 47 | 16.3 | 26.2 | Burnstad | ND 30 east of Burnstad | 01927-01-011927 | 01955-01-011955 | |
| ND 48 | — | — | ND 23 in Keene | US 85 north of Alexander | 01927-01-011927 | 01937-01-011937 | West end truncated to Banks by 1931; now CR 10, ND 1806, CR 35, CR 18, and CR 39 |
| ND 48 | 12.167 | 19.581 | ND 25 near CenterND 200 east of Riverdale | ND ALT 200 west of Fort ClarkUS 83 at Coleharbor | 01975-01-01c. 1975 | current | Segment 2 follows the Lewis and Clark Trail |
| ND 49 | 104.407 | 168.027 | SD 73 at Thunder Hawk, S.D. | ND 200 near Beulah | 01927-01-01c. 1927 | current | |
| ND 50 | 100.245 | 161.329 | MT 258 west of Grenora | US 52 near Coulee | 01927-01-01c. 1927 | current | |
| ND 51 | — | — | US 85/ ND 23 in Watford City | ND 48 in Banks | 01927-01-011927 | 01937-01-011937 | Now part of ND 1806 |
| ND 52 | — | — | — | — | 01926-01-011926 | 01931-01-01c. 1931 | location unknown |
| ND 52 | — | — | Ypsilanti | ND 13 west of LaMoure | 01931-01-011931 | 01934-01-01c. 1934 | former portion of ND 20; renumbered ND 63 because of US 52 |
| ND 53 | — | — | ND 9 south of Leal | ND 46 in Marion | 01927-01-011927 | 01931-01-01c. 1931 | removed from system |
| ND 53 | 45.037 | 72.480 | US 83 at Max | US 52 near Balfour | 01935-01-011935 | current | created when ND 23 was realigned on a new road to the south |
| ND 54 | 2.263 | 3.642 | I-29 west of Oslo, Minn. | MN 1 at Oslo, Minn. | 01927-01-011927 | current | |
| ND 55 | 30 | 48 | Walhalla | US 81 at Pembina | 01927-01-01c. 1927 | 01950-01-011950 | Replaced by Pembina CR 55 |
| ND 56 | 50.203 | 80.794 | ND 11 east of Ashley | ND 46 at Gackle | 01927-01-01c. 1927 | current | |
| ND 57 | — | — | ND 9 south of Kensal | US 10 at Jamestown | 01927-01-011927 | 01931-01-01c. 1931 | transferred to rerouted ND 20 |
| ND 57 | 13.277 | 21.367 | US 281 west of Fort Totten | ND 20 near Camp Grafton | 01931-01-01c. 1931 | current | formerly ND 34 |
| ND 58 | 9.800 | 15.772 | ND 200 near Fairview, Mont. | ND 1804 near Buford | 01927-01-01c. 1927 | current | |
| ND 59 | — | — | ND 15 in Fessenden, North Dakota | ND 7 west of Heaton, North Dakota | 01931-01-011931 | 01934-01-01c. 1934 | became part of US 52 |
| ND 59 | 1.063 | 1.711 | I-29 in Pembina | Minnesota state line east of Pembina | 01953-01-01c. 1953 | current | |
| ND 60 | 29.878 | 48.084 | ND 3 / ND 17 east of Barton | ND 5 east of Bottineau | 01931-01-01c. 1931 | current | Formerly part of ND 17 |
| ND 61 | — | — | MT 23 east of Sidney, Mont. | ND 16 | 01931-01-01c. 1931 | 01963-01-01c. 1963 | Formerly part of ND 23; Became part of ND 68 |
| ND 62 | 19 | 31 | US 10 / US 52 at Spiritwood | ND 9 west of Wimbledon | 01937-01-01c. 1937 | 01963-01-01c. 1963 | Formerly part of ND 20; replaced by Stutsman CR 62 |
| ND 63 | 50 | 80 | Ypsilanti | ND 13 west of LaMoure | 01934-01-01c. 1934 | 01950-01-011950 | Replaced by Stutsman / LaMoure CR 63 |
| ND 64 | — | — | — | — | 01937-01-01c. 1937 | — | |
| ND 65 | 9.383 | 15.100 | ND 45 north of Cooperstown | ND 1 at Binford | 01937-01-01c. 1937 | current | |
| ND 66 | 138.720 | 223.248 | ND 3 south of Dunseith | MN 11 at Drayton | 01963-01-01c. 1963 | current | |
| ND 67 | 27.466 | 44.202 | US 12 at Scranton | ND 21 west of New England | — | — | |
| ND 68 | 28.124 | 45.261 | MT 23 near Sidney, Mont. | US 85 south of Alexander | — | — | |
| ND 69 | 10 | 16 | US 281 / ND 5 east of Rolla | Canadian north of Hansboro | 01969-01-01c. 1969 | 01997-01-011997 | Replaced by ND 4 due to sign thefts. |
| ND 73 | 11.332 | 18.237 | ND 23 east of Watford City | ND 22 north of Mandaree | 01975-01-01c. 1975 | current | |
| ND 89 | 1.960 | 3.154 | Lignite | ND 5 north of Lignite | — | — | |
| ND 91 | 1.262 | 2.031 | US 81 at St. Thomas | US 81 at St. Thomas | — | — | In Pembina County |
| ND 91 | 0.523 | 0.842 | US 52 at Harvey | ND 3 at Harvey | — | — | In Wells County |
| ND 97 | 2.539 | 4.086 | ND 41 south of Velva | US 52 southeast of Velva | — | — | |
| ND 127 | 22.695 | 36.524 | SD 127 south of Fairmount | ND 13 at Wahpeton | 01979-01-01c. 1979 | current | |
| ND 200 | 415.778 | 669.130 | MT 200 near Fairview, Mont. | MN 200 near Halstad, Minn. | 01970-01-011970 | current | Part of a chain of state highways numbered 200 that stretches from Minnesota to Idaho |
| ND 210 | 2.937 | 4.727 | ND 13 at Wahpeton | MN 210 at Breckenridge, Minn. | — | — | |
| ND 256 | 16.406 | 26.403 | US 83 / ND 5 at Renville | PR 256 at the Canadian border | 01970-01-01c. 1970 | current | |
| ND 294 | 2.158 | 3.473 | Hector International Airport | I-29 in Fargo | — | — | |
| ND 297 | 3.060 | 4.925 | I-29 in Grand Forks | US 2 Bus. in East Grand Forks, Minn. | — | — | |
| ND 810 | 5.741 | 9.239 | I-194 in Mandan | I-94 Bus. in Bismarck | — | — | Part of the Bismarck Expressway |
| ND 1804 | 342.805 | 551.691 | SD 1804 near Pollock, S.D. | S-327 at Fort Union Trading Post | — | — | Part of the Lewis and Clark Trail; designated to reflect the years of the expedition |
| ND 1806 | 130.750 | 210.422 | ND 24 near Cannon BallND 200 at Lake Sakakawea State ParkND 23 south of CharlsonCR 2 near Tobacco Garden Bay | Oliver–Morton county line north of MandanND 8 south of Twin ButtesCR 2 near CharlsonND 23 at Watford City | — | — | Part of the Lewis and Clark Trail; designated to reflect the years of the expedition |
| Former ||||||||
* Highway 21 in Slope County
* Highway 200/US 85 west of Watford City

## Special routes

| Number | Length (mi) | Length (km) | Southern or western terminus | Northern or eastern terminus | Formed | Removed | Notes |
| ND 22 Bus. | 5.052 | 8.130 | ND 22 / ND 200 in Killdeer | ND 22 near Killdeer | — | — | |
| ND 23A | 1.526 | 2.456 | US 85 Bus. in Watford City | ND 23B in Watford City | — | — | |
| ND 23 Bus. | 5.767 | 9.281 | US 85 Bus. / ND 23 in Watford City | ND 23 in Watford City | — | — | In McKenzie County |
| ND 23B Truck | 3.183 | 5.123 | ND 1804 near New Town | ND 23 near New Town | — | — | In Mountrail County |
| ND 200A | 36.383 | 58.553 | ND 200 near Hazen | ND 200 near Underwood | — | — | |
| ND 200A | 8.353 | 13.443 | ND 18 near Hillsboro | ND 200 near Hillsboro | — | — | In Traill County |
| Former ||||||||