Pirna est situé près des montagnes de Sandstone dans la vallée de l'Elbe, où les rivières voisines Wesenitz, au nord, et Gottleuba au sud, coulent dans l'Elbe.
Pirna est situé au début du Elbtalkessel, où le Wesenitz et le flux de Gottleuba dans l'Elbe.