Město Štěpánov se nachází v okrese Olomouc v Olomouckém kraji. Leží přibližně 10 km severně od Olomouce, 10 km východně od Litovle a 6 km jihozápadně od Šternberka. Na rozloze 2684 ha žije přibližně 3500 obyvatel. Katastrem Štěpánova, který se skládá z několika dříve samostatných obcí, protékají řeky Morava a Oskava i říčka Sitka, zasahuje též do chráněné krajinné oblasti Litovelské Pomoraví. Štěpánovem prochází železniční koridor Olomouc–Praha (trať č. 270).