Od 1966 do 1990 należał do Polskiej Zjednoczonej Partii Robotniczej, w której pełnił funkcje II sekretarza komitetu zakładowego przy PPN w Pile, członka i członka egzekutywy komitetu miejsko-gminnego w Mikołajkach (1974–1976). Był absolwentem Wieczorowego Uniwersytetu Marksizmu-Leninizmu. Po przemianach politycznych wstąpił do Socjaldemokracji Rzeczypospolitej Polskiej, w której władzach zasiadał. Przystąpił do Sojuszu Lewicy Demokratycznej, pełnił funkcję wiceprzewodniczącego rady wojewódzkiej w Poznaniu oraz przewodniczącego rady powiatowej partii w Pile. W latach 1993–2005 zasiadał przez trzy kadencje w Senacie RP, reprezentując województwo pilskie i okręg pilski. W IV kadencji (1997–2001) pełnił funkcję wicemarszałka Senatu, w V kadencji (2001–2005) przewodniczył Komisji Emigracji i Polaków za Granicą, był również członkiem Komisji Regulaminowej, Etyki i Spraw Senatorskich. W 2005 nie został ponownie wybrany do Senatu RP, rok później uzyskał mandat radnego rady miejskiej w Pile, w której pełnił funkcję przewodniczącego komisji budżetu.