Był zawodnikiem klubów warszawskich – Drukarza i Iskry (przed II wojną światową), Elektryczności (1946–1947), Samorządowca (1948) i Ogniwa (1949). W 1951 był jednym z założycieli sekcji kolarskiej CWKS Warszawa, w której karierę zawodniczą zakończył w 1953.
Jako zawodnik zdobył mistrzostwo Polski w drużynowym wyścigu szosowym na 100 km w 1947 i 1948, górskie wicemistrzostwo Polski w 1948, przełajowe wicemistrzostwo Polski w 1947 oraz brązowy medal mistrzostw Polski w drużynowym wyścigu szosowym na 100 km w 1946. Trzykrotnie startował w Wyścigu Pokoju. W pierwszej edycji wyścigu w 1948 zajął drugie miejsce w klasyfikacji końcowej (na trasie Warszawa-Praga), w 1949 zajął 16. miejsce, w 1950 – 22. miejsce. W 1947 wygrał jeden z etapów Tour de Pologne, a w samym wyścigu debiutował już w 1939.
Po zakończeniu kariery sportowej pracował jako trener i kierownik sekcji kolarskiej Legii Warszawa. Był także działaczem Polskiego Związku Kolarskiego, m.in. kapitanem szosowym (1959–1961) i członkiem zarządu (1985–1988).