Иван Козлов родом из Санкт-Петербурга.
На счету полузащитника до перехода в ФК «Калуга» шесть матчей в Первой лиге (1 гол), 65 поединков во Втором дивизионе (2 мяча и одна голевая передача).
Козлов выступал за «Арсенал» и «Тверь».
В футбольный клуб «Калуга» полузащитник перебрался из Тулы.