Bad Schandau lies east of the Elbe right on the edge of the Saxon Switzerland National Park in the Elbe Sandstone Mountains; the National Park Centre is located in the town.
Bad Schandau is about 6 kilometres from the Czech frontier and 33 km southeast of Dresden on the railway to Děčín.