Wychowanek Siódemki Ozimek[2]. Następnie zawodnik SMS-u Gdańsk, w barwach którego w sezonie 2012/2013 rozegrał 20 meczów i zdobył 132 gole, zajmując 7. miejsce w klasyfikacji najlepszych strzelców I ligi[3]. W 2013 przeszedł do MMTS-u Kwidzyn. W sezonie 2016/2017 rozegrał w Superlidze 30 spotkań, w których rzucił 95 bramek[4]. W pierwszej części sezonu 2017/2018 wystąpił w 15 meczach i zdobył 67 bramek[5]. W styczniu 2018 został zawodnikiem VfL Lübeck-Schwartau[6]. W drugiej części sezonu 2017/2018 rozegrał w 2. Bundeslidze 18 spotkań, w których rzucił 75 bramek[7]. W pierwszej części sezonu 2018/2019 wystąpił w 15 meczach i zdobył 56 goli. W grudniu 2018, podczas spotkania reprezentacji Polski z Niemcami, zerwał więzadła krzyżowe w kolanie, co wykluczyło go z gry na kilka miesięcy[8].
Występował w reprezentacji Polski juniorów. Wraz z kadrą młodzieżową uczestniczył w 2012 w mistrzostwach Europy U-20 w Turcji, podczas których zdobył siedem bramek[9]. W 2013 wziął udział w otwartych mistrzostwach Europy juniorów w Szwecji. Następnie zaczął występować w kadrze B. W listopadzie 2015 zagrał w turnieju drugich reprezentacji w Wągrowcu, w którym zdobył 13 goli i otrzymał nagrodę dla najlepszego gracza zawodów[10].
W maju 2017 został po raz pierwszy powołany do kadry A[11]. Zadebiutował w niej 8 czerwca 2017 w przegranym meczu ze Szwecją (27:33)[12]. Pierwszą bramkę rzucił następnego dnia w spotkaniu z Islandią (21:24)[13].
Osiągnięcia
Indywidualne
7. miejsce w klasyfikacji najlepszych strzelców I ligi: 2012/2013 (132 bramki; SMS Gdańsk)[3]