Najstarsze miasto Sądecczyzny jest położone na wzgórzu pomiędzy Dunajcem a Popradem, w miejscu skrzyżowania dawnej drogi węgierskiej i traktu Nowy Sącz – Nowy Targ.