Выхаванец футбольнага клуба «Мінск», з 2014 года пачаў выступаць за дубль і хутка замацаваўся ў яго складзе. 17 чэрвеня 2015 года дэбютаваў у Вышэйшай лізе ў асноўнай камандзе «Мінска», выйшаўшы на замену на 76-й хвіліне матча супраць «Тарпеда-БелАЗ» (0:2).
У сезоне 2016 стаў часцей з’яўляцца ў галоўнай камандзе мінчан, нярэдка і ў стартавым складзе, дзе звычайна выступаў на пазіцыі правага паўабаронцы. У сезоне 2017 ужо трывала замацаваўся як асноўны правы паўабаронца каманды, часам выкарыстоўваўся на пазіцыі правага абаронцы.
У студзені 2019 года перайшоў у барысаўскі БАТЭ[4]. Спачатку быў іграком ратацыі, прыцягваўся да дубля, а з кастрычніка 2019 года ў сувязі з траўмай Аляксея Рыаса замацаваўся ў стартавым складзе на пазіцыі правага абаронцы. У сезоне 2020 чаргаваў выхады ў стартавым складзе і на замену.
У лютым 2021 года падоўжыў кантракт з БАТЭ[5]. У сезоне 2021 з’яўляўлся на полі нерэгулярна, а ў 2022 годзе стаў трывала з’яўляцца ў стартавым складзе. У красавіку 2022 года падоўжыў пагадненне з клубам да канца 2023 года[6].
У сакавіку 2023 года з-за забароны Міністэрства спорту і турызму не быў дапушчаны да чэмпіянату Беларусі і не ўдзельнічаў у афіцыйных матчах. У ліпені 2023 года пакінуў БАТЭ[7], а ў жніўні папоўніў склад казахстанскага «Актабэ»[8].
17 студзеня 2016 года дэбютаваў у моладзевай зборнай Беларусі, выйшаўшы на замену на 76-й хвіліне матча супраць Кыргызстана на Кубку Садружнасці ў Санкт-Пецярбургу.
У ліпені 2017 года выступаў за другую зборную Беларусі на Кубку Караля ў Тайландзе. 16 лістапада 2019 года дэбютаваў у нацыянальнай зборнай Беларусі ў адборачным матчы чэмпіянату Еўропы 2020 супраць Германіі (0:4), выйшаўшы на замену ў канцы сустрэчы.