British Columbia Highway 31

Highway 31 is a minor north–south highway through the Selkirk Mountains in British Columbia, Canada. The highway first gained its number in 1973, and it is one of the few numbered highways in the province that is not fully paved. Highway 31 has a total distance of 175 km — 37 km along Kootenay Lake between Balfour (a junction with Highway 3A) and Kaslo (a junction with Highway 31A), 106 km north along Kootenay Lake north of Kaslo, then the Duncan and Lardeau Rivers and the north shore of Trout Lake, and 32 km between the northwest end of Trout Lake and Galena Bay, where it ends at Highway 23.

The highway is a gravel road between Meadow Creek at the north end of Kootenay Lake and Trout Lake. 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 work took only two months to complete.

Highway 31A
Highway 31's main spur, Highway 31A, which also opened in 1973, is 47 km long, connecting Highway 31 at Kaslo to Highway 6 at New Denver.