The town lies between Baden and Zurich on the south side of the Limmat, located in the Limmat Valley (German: Limmattal).
Around west of the town, at a height of , lies Heitersberg, a hamlet set on a high plateau in the Heitersbergs.