Absolwent Wydziału Samochodów i Maszyn Roboczych Politechniki Warszawskiej. Do początku lat 90. pracował w Polmozbycie.
Po tym, jak wstąpił do Platformy Obywatelskiej, w 2002 roku po raz pierwszy objął urząd prezydenta Ciechanowa. Po czterech latach ponownie został wybrany na to stanowisko, reelekcję uzyskał również w 2010 roku, wygrywając w II turze. Z kolei w 2014 roku, startując z własnego komitetu wyborczego z poparciem PO, przegrał w drugiej turze z Krzysztofem Kosińskim. Uzyskał natomiast mandat radnego powiatu ciechanowskiego.