Medalista mistrzostw Polski w różnych kategoriach wiekowych, w tym mistrz Polski seniorów na 50 kilometrów (2013) oraz wicemistrz Polski na tym dystansie (2014, 2016 i 2017). 12. zawodnik pucharu Europy w chodzie juniorów na 10 kilometrów (2009). W tym samym roku został zdyskwalifikowany w chodzie na 10 000 metrów na mistrzostwach Europy juniorów. W 2013 zajął 21. miejsce w chodzie na 50 kilometrów podczas mistrzostw świata w Moskwie. Dwa lata później był 11. na tym dystansie podczas mistrzostw świata w Pekinie. 15 zawodnik igrzysk olimpijskich w Rio de Janeiro (2016).