Село Михайлівка розатшоване на березі річки Сироватка (головним чином на правому березі), вище за течією на відстані 0.5 км розташоване село Покровка, нижче за течією примикає смт Краснопілля.
На річці велика загата.
Історія
Село постраждало внаслідок геноциду українського народу, проведеного урядом СССР 1923-1933 та 1946-1947 роках.
12 червня 2020 року, відповідно до розпорядження Кабінету Міністрів України № 723-р «Про визначення адміністративних центрів та затвердження територій територіальних громад Сумської області», село увійшло до складу Краснопільської селищної громади[1].
19 липня 2020 року, в результаті адміністративно-територіальної реформи та ліквідації Краснопільського району, увійшло до складу новоутвореного Сумського району[2].