Silverton is located on Highway 6 in the Slocan Valley, on the eastern shore of Slocan Lake in the Kootenays, 8 km south of New Denver and 27 km north of Slocan.