It is located south of the Jablunkov Pass, surrounded by the Javorníky, Kysucké Beskydy and Turzovská vrchovina mountain ranges. It lies in the valley of the Kysuca river, around 30 kilometres (19 miles) north of Žilina and is part of the historic region of Kysuce. A Goral minority lives in the surroundings.
The town was established in the 17th century; the first written reference dates back to 1565 as Tzaczcka. The town charter was granted in 1778.
According to the 2010 census, the town had 24,959 inhabitants with 2.2% Czech and 0.4% Roma. The religious make-up was 82.97% Roman Catholics and 0.36% Lutherans; most of others stated no religious affiliation.
Čadca railway station is the town’s main station. It forms part of the cross-border Žilina–Čadca–Svrčinovec zastávka–Mosty u Jablunkova railway (to the Czech Republic), and is also a junction station for two other lines, one of them also cross-border (to Poland).
The station offers services to several destinations in the two cross-border countries. For the Czech Republic, there are many trains to Ostrava, Bohumin or Prague, operated by trains of the České dráhy and LEO Express companies, and to Poland, there are trains towards Zwardoń.