Rodi Garganico si trova sul litorale nord del Gargano a meno di cinque chilometri da San Menaio e ad altrettanti da Ischitella.Dista dal capoluogo circa 90 km. È possibile raggiungerla dalla A14 dall'uscita di Poggio Imperiale-Gargano percorrendo la SSV del Gargano.
L'abitato è abbarbicato su un promontorio roccioso tra due lunghi arenili sabbiosi a pochi chilometri ad est del lago di Varano. È circondato da una lussureggiante vegetazione, composta soprattutto da agrumeti, ulivi, pini, carrubi e fichi.
Il centro storico, come le mura di cui è cinto, è d'origine medievale ed è caratterizzato da vicoli stretti e in buona parte ripidi, con tracciati intricati e complessi che si insinuano in un tessuto urbano costituito da case realizzate in modo tale che da ognuna fosse possibile scorgere il mare, senza costruzioni di rilevante valore artistico. Questo grazie anche all'orografia e alla geografia del paese, che sviluppandosi su di una punta circondata dall'Adriatico su tre lati, rispondeva alle esigenze della vocazione marinara della cittadina.
La costa, che volge a settentrione, è caratterizzata da lunghe spiagge la cui continuità è interrotta dalla punta rocciosa su cui sorge l'abitato di Rodi Garganico. La sabbia che compone gli arenili è chiara e caratterizzata dalla granulometria particolarmente fine.
La spiaggia, riparata dai venti di maestrale grazie allo schermo offerto dal porto, si estende in lunghezza per circa 4 km fin quasi alla spiaggia di San Menaio, ed è larga in prossimità dell'abitato più di 60 metri. Nel 2009, in seguito alle operazioni di dragaggio del fondo marino compiute durante la costruzione del porto turistico, centinaia di migliaia di metri cubi di sabbia sono stati aggiunti all'arenile, contribuendo ad aumentarne ulteriormente la larghezza lungo tutto il fronte costiero.
Il clima, già temperato per latitudine e longitudine, risente dell'influenza del mare che mitiga i rigori invernali e le calure estive. La temperatura media annua è di 16 °C. Il mese più freddo è gennaio (8 °C di media) ed i più caldi sono luglio e agosto (27°).