Воспитанник СДЮШОР «Зенит». В молодёжном первенстве дебютировал в 2015 году в матче 23-го тура против «Рубина», выйдя на замену вместо Павла Осипова. С июля 2015 года — игрок команды «Зенит-2». В сезоне 2016/17 выступал в аренде за словацкий «Кошице», в составе которого провел 22 матча во второй лиге, забил 3 гола.
25 сентября 2019 года дебютировал за «Зенит» в гостевом матче 1/16 финала Кубка России — в игре против «Енисея» (2:1) вышел на замену на 88-й минуте.