The town lies on the banks of the Kysuca River surrounded by the foothills of Beskydy and Javorníky Mountains. The Javorníky Mountains consist of Nízke (Low) Javorníky and Turzovská Highland.
The altitude of the town is from 460 to 875 metres above sea level.