Il nucleo urbano più antico sorge su un promontorio roccioso, a 155 m s.l.m., e fa parte del Club dei Borghi più belli d’Italia. La zona marittima di Rocca San Giovanni, si è sviluppata successivamente lungo la costa che affaccia sul Mar Adriatico, fa parte della Costa dei Trabocchi. I trabucchi presenti nella fascia comunale della costa sono Punta Cavalluccio, Punta Torre, Spezzacatena, La Foce, Punta Isolata, Valle Grotte e Punta Tufano.