British Columbia Highway 31

Highway 31 has a total distance of 175 km (109 mi) — 37 km (23 mi) along Kootenay Lake between Balfour (a junction with Highway 3A) and Kaslo (a junction with Highway 31A), 106 km (66 mi) north along Kootenay Lake north of Kaslo, then the Duncan and Lardeau Rivers and the north shore of Trout Lake, and 32 km (20 mi) between the northwest end of Trout Lake and Galena Bay, where it ends at Highway 23.

Care should be taken when driving the route as it is narrow and has drop offs into Trout Lake north of Gerrard.

The section between Lardeau and Gerrard was possibly a part of a railway.

The railway was converted into a highway in 1942 or early 1943 as part of a rail-to-road conversion project.

The entire route is in Central Kootenay Regional District.