Kamień Pomorski położony jest na Pobrzeżu Szczecińskim (Wybrzeże Trzebiatowskie), w rozlewisku cieśniny Dziwny tworzącej Zalew Kamieński. Miasto leży nad dwiema zatokami zalewu: Karpinką od północy i Promną od zachodu, za którą znajduje się Wyspa Chrząszczewska. Miejscowość znajduje się 90 km na północny wschód od Szczecina.
Kamień Pomorski leży w północnej części Pomorza Zachodniego.
Centrum Kamienia Pomorskiego znajduje się 7 km od wybrzeża Morza Bałtyckiego. Miasto ma pośredni dostęp do morza poprzez cieśninę Dziwnę.