Город расположен в республике Марий Эл на территории Марийской низменности, в пятидесяти километрах севернее Волги. Йошкар-Ола стоит на берегах реки Малая Кокшага, она делит город на две части. Координаты GPS: 56.631600, 47.886178.
Расстояние от Йошкар-Олы до Москвы – 642 километра по прямой, до Санкт-Петербурга – 1088 километра. Ближайшие крупные города: Казань (119 километров), Чебоксары (90 километров), Киров (243 километра).