Gmina wiejska położona w środkowej części powiatu nowosądeckiego. Siedzibą urzędu gminy jest wieś Nawojowa.
Obszar gminy wynosi 51,13 km² (ok. 3,30% powierzchni powiatu), w tym: użytki rolne 50%, użytki leśne 43%. Gminę zamieszkuje 8 058 osób (ok. 3,96% ogółu mieszkańców powiatu), w tym 4 061 kobiet i 3 997 mężczyzn (30.06.2010). Wskaźnik gęstości zaludnienia wynosi 157,60 osób/km².
Gmina obejmuje 8 wsi: Bącza-Kunina, Frycowa, Homrzyska, Nawojowa, Popardowa, Złotne, Żeleźnikowa Mała, Żeleźnikowa Wielka. Podzielona jest na sołectwa, które pokrywają się z miejscowościami.
Graniczy od północy z miastem Nowy Sącz i gminą Kamionka Wielka, od wschodu z gminą Łabowa, od południa z gminą Piwniczna-Zdrój, od zachodu z gminami Rytro i Stary Sącz.