Born in Gabrovo, Ivanov began his football career playing for his hometown club Yantra at the age of six.
His first involvement in the first team was after coming on as a substitute and scoring the winning goal in a friendly game against Lazio on 23 May 2014, which finished 3–2.
[3] Ivanov made his competitive debut for Levski at the age of 16 years and 10 months, in a 0–0 home league draw against Montana on 2 March 2016, coming on as a substitute for Miki Orachev.
His first senior goals came on 25 September 2018 when he scored twice in a 6–0 away win over Atletik Kuklen in the first round of the Bulgarian Cup.
[11] On 17 October 2023, he earned his first cap for the senior national team, coming on as a late second half substitute for Lukas Petkov in the 0–2 loss against Albania in a friendly match.