Město Hranice se nachází ve východní části Olomouckého kraje v Moravské bráně převážně na pravém břehu řeky Bečvy, v nadmořské výšce cca 260 m. Hranice se nachází v prostoru, v němž se kumulují dopravní a inženýrské koridory na hlavním železničním a silničním tahu Olomouc - Přerov - Ostrava, s významnou odbočkou na Valašské Meziříčí, Beskydy, Vsetín a na Slovensko. Pro město je významné sousedství lázní v Teplicích nad Bečvou.