W latach 2013–2016 był zawodnikiem MMTS-u Kwidzyn, w którym rywalizował o miejsce w składzie z Kamilem Sadowskim, a później z Markiem Szperą[4]. W trakcie trzech sezonów rozegrał w Superlidze 80 meczów i zdobył 198 goli. W 2016 przeszedł do Gwardii Opole[5]. W sezonie 2016/2017 rozegrał w lidze 28 meczów i rzucił 92 bramki. W sezonie 2017/2018 wystąpił w 28 ligowych spotkaniach, w których zdobył 110 goli[6], a ponadto zagrał w trzech meczach Pucharu EHF, w których rzucił cztery bramki[1]. W sezonie 2018/2019 rozegrał w lidze 29 meczów i zdobył 88 goli[7], a w Pucharze EHF zanotował dwa występy, w których rzucił sześć bramek[1].
Występował w młodzieżowej reprezentacji Polski, m.in. w październiku 2008 zagrał w turnieju Kępno Cup, a w marcu 2009 wystąpił w trzech meczach towarzyskich z Norwegią, w których zdobył cztery bramki[8]. W barwach reprezentacji Polski B wystąpił w październiku 2014 w turnieju w Pleszewie.
Reprezentant Polski, do kadry po raz pierwszy powołany w 2013. W barwach narodowych zadebiutował 4 kwietnia 2014 w wygranym meczu z Białorusią (27:22)[9].