The southern segment is 133 miles (214 km) long and travels from Lake Sakakawea near Twin Buttes to South Dakota Highway 75 (SD 75) near Hettinger.
The northern segment is 78 miles (126 km) long and travels from Saskatchewan Highway 9 (SK 9) in Northgate on the Canada–United States border to ND 23 near New Town.
The highway was originally continuous but was separated by the formation of Lake Sakakawea in the 1950s.
ND 21 turns off at Mott, while ND 8 continues north for 34.7 miles (55.8 km) until crossing over I-94 near Richardton.
The 40.9-mile (65.8 km) course between Stanley and US 52 in Bowbells involves a brief concurrency with ND 50 and a section in the Lostwood National Wildlife Refuge.