Вихованець львівського футболу. З 2013 року виступав у академії команди «Карпат» в ДЮФЛУ. З сезону 2015/16 став виступати за «Карпати U-19» в чемпіонаті України U-19, а у наступному розіграші дебютував і у команді U-21 в молодіжному чемпіонаті.
За першу команду у Прем'єр-лізі дебютував 29 липня2017 року в матчі проти київського«Динамо»[1]. Перший м'яч в рамках УПЛ забив 19 травня 2018 року у домашній грі проти «Сталі» із Кам'янського (3:0). Загалом за два роки провів за «Карпати» 26 матчів у всіх турнірах.
21 січня 2019 року підписав контракт на 4,5 роки із іспанським клубом «Луго»[2], який виступав у Сегунді. Утім закріпитися в основі іспанської команди не зумів і в лютому 2020 року на правах оренди перейшов до донецького «Олімпіка». 23 лютого того року дебютував за донеччан в рамках УПЛ у домашній грі проти «Львова» (0:1). За півтора сезони провів за «Олімпік» 33 матчі в еліті українського футболу.
У червні 2021 року оренда термін дії оренди в «Олімпіку» закінчилася і він повернувся до «Луго», де в сезоні 2021/22 провів 38 матчів із 42 в рамках Сегунди. У наступному чемпіонаті втратив місце в основі команди і по ходу на правах вільного агента перебрався до «Депортіво» із Ла-Коруньї, який виступав у третьому за силою дивізіоні Іспанії (17 матчів - 1 гол)
7 липня 2023 року підписав дворічний контракт із одним із аутсайдерів португальської Прімейра-ліги командою «Візела». В еліті португальського футболу дебютував 12 серпня того ж року у виїзній грі проти лісабонського «Спортінга» (2:3). Перший м'яч за «Візелу» в чемпіонаті провів 25 лютого 2024 року у домашній грі проти «Ештуріл-Прая» (2:2). За підсумками сезону «Візела» посіла 17 місце в турнірній таблиці і вилетіла до Сегунда-Ліги.