Miasto położone w gminie Muszyna, w południowo-wschodniej części powiatu nowosądeckiego.
Muszyna położona jest w Beskidzie Sądeckim, w dolinie rzeki Poprad i dwóch jej dopływów: potoków Szczawnik i Muszynka, na wysokości około 450 m n.p.m. Posiada powierzchnię 24,43 km² i liczy 4 959 mieszkańców, w tym 2 588 kobiet i 2 371 mężczyzn (30.06.2010). Gęstość zaludnienia wynosi 202,99 osób/km².
Miasto podzielone jest na 6 osiedli: Grunwaldzka, Kościuszki, Piłsudskiego, Śródmieście, Zazamcze.