Frombork położony jest w północno - zachodniej części województwa warmińsko - mazurskiego, w powiecie braniewskim. Usytuowany jest na Zalewem Wiślanym, na pograniczu Wysoczyzny Elbląskiej, Wybrzeża Staropruskiego i Niziny Warmińskiej.
Przez teren gminy przebiegają drogi wojewódzkie 504 (Elbląg - Braniewo) i 505 (Pasłęk - Frombork). Otoczenie bezpośrednie stanowią gminy: Braniewo, Płoskinia, Młynary, Tolkmicko. Dzięki portowi Frombork dysponuje połączeniem wodnym z Krynicą Morską i miejscowością Piaski na Mierzei Wiślanej.
Powierzchnia miasta - 759 ha - 7,59 km2
Powierzchnia gminy - 11.823 ha - 118,23 km2
Ogółem obszar miasta i gminy - 12.582 ha - 125,82 km2
Powierzchnia wód Zalewu Wiślanego - 3.883 ha - 38,83 km2