Sepahan Karimi joined
Sepahan in the summer of 2012. From 2010 to 2012, he was a member of
Sepahan under-19 football team. He made his first league appearance in the 2013–14 season. He won the
Persian Gulf Pro League with Sepahan in the 2014–15 season.
Dinamo Zagreb 2016–17 On 1 July 2016, Karimi joined Croatian champions
Dinamo Zagreb on a five-year contract for a reported US$400,000 transfer fee. He is the first Iranian to play in Croatian
Prva HNL. Karimi made his preseason debut on 2 July 2016, coming on as a second-half substitute against Romanian club
CS Pandurii Târgu Jiu.
Loan to Lokomotiva Karimi joined Dinamo Zagreb's feeder club
Lokomotiva in January 2017 on a 6-month loan. He finally got a chance to show off his power and control in the midfield as he started six games for Lokomotiva, set up multiple goals and scored his first goal in the Croatian league for the NK Lokomotiva on 26 April 2017 in a 1–0 league victory against
Istra 1961.
Esteghlal On 15 July 2018, Karimi joined
Esteghlal signing a one-year contract with the club.
Qatar SC On 1 November 2020, Karimi joined
Qatar SC, signing a one-year contract with the club.
Kayserispor In July 2020, Karimi joined
Kayserispor as a free agent. ==International career==