Родился 23 февраля 1914 года в Харькове. С 1918 года жил в Ворошиловграде. Работал на паровозостроительном заводе слесарем-инструментальщиком, затем – помощником машиниста и машинистом маневрового паровоза. С 1929 года без отрыва от производства занимался в Луганской школе Осоавиахима, летал на планерах.
21 февраля 1932 года, как ударник производства, был командирован на учебу в 11-ю военную школу пилотов в городе Луганск. По ее окончании в августе 1933 года получил назначение в 35-ю истребительную авиаэскадрилью 59-й истребительной авиабригады ВВС УВО в город Житомир, где проходил службу младшим летчиком и командиром звена.
В июле 1942 года, перегоняя истребитель на фронт, самовольно остался на Калининском фронте.
5 января 1943 майора Федорова наградили орденом Отечественной войны 1-й степени, 16 декабря того же года – орденом Александра Невского, а 3 ноября 1944 года – медалью «За боевые заслуги».
Также Иван Федоров награжден медалями «За освобождение Варшавы» и «За взятие Берлина».