Olsztyn położony jest w środkowej części województwa warmińsko-mazurskiego nad rzeką Łyną, w granicach Pojezierza Olsztyńskiego, które wchodzi w skład makroregionu Pojezierza Mazurskiego i jest podprowincją Pojezierzy Wschodniobałtyckich. Od południowej strony miasto sąsiaduje z Puszczą Napiwodzko-Ramucką.
Miasto sąsiaduje z gminami: Dywity, Barczewo, Purda, Stawiguda, Gietrzwałd oraz Jonkowo. Jedynym powiatem, z którym graniczy Olsztyn, jest powiat olsztyński (ziemski).
Olsztyn leży 87 km od granicy z Rosją, 131 km od Kaliningradu i 408 km od stolicy Litwy – Wilna.
Według Google Maps odległości drogowe do stolic sąsiednich województw wynoszą:
Olsztyn-Białystok – 241 km,
Olsztyn-Gdańsk – 169 km,
Olsztyn-Bydgoszcz – 208 km,
Olsztyn-Toruń – 172 km,
Olsztyn-Warszawa – 212 km.