Město Hrádek nad Nisou leží na hranicích tří států: 2 km od města se nachází česko-německo-polské Trojmezí. Město se rozkládá na severním úpatí Lužických hor v Žitavské pánvi, asi 20 km severozápadně od krajského města Liberec. Městem protéká řeka Lužická Nisa.