Harrachov leží na říčce Mumlava v Česku v okrese Semily v nadmořské výšce 665 m. Město zaujímá plochu 36,63 km² a má 1 696 obyvatel.