Wychowanek Olimpu Grodków, w którego barwach rozegrał w latach 2015–2017 31 meczów w I lidze i zdobył 36 goli[2].
W 2017 został zawodnikiem Gwardii Opole, z którą podpisał trzyletni kontrakt[3]. W Superlidze zadebiutował 2 września 2017 w wygranym meczu z Piotrkowianinem Piotrków Trybunalski (31:22), zaś pierwszą bramkę rzucił 23 września 2017 w przegranym meczu z Wisłą Płock (20:32). W sezonie 2017/2018 rozegrał w najwyższej klasie rozgrywkowej 23 mecze i zdobył 20 goli[2], a ponadto wystąpił w czterech spotkaniach Pucharu EHF[1]. W sezonie 2018/2019 rozegrał w Superlidze 31 meczów i zdobył 51 goli[4], zaś w Pucharze EHF zanotował dwa występy, w których rzucił dwie bramki[1].
W 2017 uczestniczył w mistrzostwach świata U-19 w Gruzji, w których rozegrał siedem meczów i rzucił 12 bramek[5]. W 2018 wystąpił w mistrzostwach Europy U-20 w Słowenii, podczas których zdobył osiem goli w siedmiu spotkaniach[6]. W październiku 2018 zadebiutował w reprezentacji Polski B, grając w wygranym towarzyskim dwumeczu z Czechami B (35:24, 31:25), w którym rzucił trzy bramki[7].
W sierpniu 2017 został po raz pierwszy powołany przez trenera Piotra Przybeckiego na konsultację szkoleniową reprezentacji Polski w Płocku[8]. W kadrze narodowej zadebiutował 12 grudnia 2018 w przegranym meczu towarzyskim z Niemcami (23:35)[9].
Handball pictogram.svg Pictograms of Olympic sports - Handball. This is unofficial sample picture. Images of official Olympic pictograms for 1948 Summer Olympics and all Summer Olympics since 1964 can be found in corresponding Official Reports.