Wychowanek Wisły Płock, z którą w 2015 zdobył mistrzostwo Polski juniorów, a także został wybrany najlepszym zawodnikiem turnieju finałowego, który odbył się w Legnicy[1]. W latach 2013–2016 występował w drugim zespole płockiego klubu, w tym w I lidze w sezonie 2015/2016. W okresie tym zadebiutował także w pierwszej drużynie Wisły – 17 kwietnia 2015 zagrał w meczu 1/4 finału play-off z Chrobrym Głogów (32:20), w którym rzucił jedną bramkę. Sezon 2014/2015 zakończył z trzema występami i trzema golami na swoim koncie w Superlidze.
W 2016 przeszedł do Mebli Wójcik Elbląg (na zasadzie wypożyczenia)[2]. W sezonie 2016/2017 rozegrał w najwyższej klasie rozgrywkowej 28 meczów i zdobył 74 gole[3]. W sezonie 2017/2018 wystąpił w 30 spotkaniach, w których rzucił 150 bramek, zajmując 5. miejsce w klasyfikacji najlepszych strzelców po fazie zasadniczej[4]. Nominowany został ponadto do nagród dla odkrycia i najlepszego środkowego rozgrywającego Superligi[5]. W lipcu 2018 został zawodnikiem Zagłębia Lubin[6]. W sezonie 2018/2019 rozegrał w jego barwach 36 meczów w lidze, w których zdobył 100 goli[7].
W lipcu 2019 został zawodnikiem Azotów-Puławy, z którymi podpisał czteroletni kontrakt[8].