Wychowanek Sambora Tczew. Następnie uczeń i zawodnik SMS-u Gdańsk, w którego barwach rozegrał w I lidze 42 mecze i zdobył 198 goli.
W latach 2011–2014 był zawodnikiem MMTS-u Kwidzyn. W Superlidze zadebiutował 4 września 2011 w przegranym spotkaniu z Chrobrym Głogów (23:26), w którym zdobył trzy gole. W ciągu trzech sezonów rozegrał w najwyższej polskiej klasie rozgrywkowej w barwach MMTS-u 86 meczów, w których rzucił 267 bramek[3].
W 2014 został zawodnikiem Wisły Płock. W sezonie 2014/2015 rozegrał w Superlidze 30 meczów i zdobył 124 gole[3], zaś w Lidze Mistrzów, w której zadebiutował 27 września 2014 w wygranym spotkaniu z Beşiktaşem (28:19), wystąpił 12 razy i rzucił 14 bramek[2]. W sezonie 2015/2016, w którym rozegrał 30 meczów i zdobył 130 goli[3], był najlepszym strzelcem Wisły w Superlidze. Ponadto w Lidze Mistrzów wystąpił w 16 spotkaniach, w których rzucił 35 bramek[2].
W sezonie 2016/2017 rozegrał w Superlidze 32 mecze i zdobył 98 goli[3], a ponadto wystąpił w 14 spotkaniach Ligi Mistrzów, w których rzucił 28 bramek[2]. W sezonie 2017/2018, w którym rozegrał 30 meczów i zdobył 112 goli[3], otrzymał nominację do nagrody dla najlepszego skrzydłowego Superligi[4]. W sezonie 2017/2018 zagrał też w 11 spotkaniach Ligi Mistrzów, w których rzucił 41 bramek[2]. W sezonie 2018/2019, w którym rozegrał 28 meczów i zdobył 169 goli, zajął 3. miejsce w klasyfikacji najlepszych strzelców Superligi[5], a ponadto został wybrany najlepszym zawodnikiem i najlepszym skrzydłowym polskiej ligi[6]. W sezonie 2018/2019 był ponadto najlepszym strzelcem Wisły Płock w Lidze Mistrzów – w 14 spotkaniach rzucił 60 bramek[2].
W reprezentacji Polski zadebiutował 4 kwietnia 2013 w przegranym meczu ze Szwecją (21:28)[10]. Dwie pierwsze bramki w barwach narodowych rzucił w rozegranym trzy dni później spotkaniu rewanżowym ze Szwecją (22:18)[11].