Urodził się w Gdańsku w 1952 roku. Po ukończeniu przyzakładowej Szkoły Mechanizatorów Sprzętu Przeładunkowego pracował w Zarządzie Portu Gdańsk jako mechanik w latach 1970-71, a później jako operator sprzętu. Uczestniczył w wydarzeniach Grudnia'70, w wyniku których trafił do więzienia (1971-72). Od 1972 r. pracował w Zakładach Okrętowych Urządzeń Elektrycznych i Automatyki Elmor jako nastawiacz obrabiarek. W 1978 r. rozpoczął współpracę z Komitetem Założycielskim Wolnych Związków Zawodowych Wybrzeża. Był współorganizatorem Międzyzakładowego Komitetu Strajkowego w Gdańsku oraz współautorem większości z 21 postulatów sierpniowych. Później został wiceprzewodniczącym Zarządu Regionu Gdańskiego NSZZ "Solidarność", członkiem Krajowej Komisji Porozumiewawczej, a następnie Komisji Krajowej. 13 grudnia 1981 r., po wprowadzeniu stanu wojennego, udało mu się uniknąć internowania. Przez cały okres ukrywania się organizował struktury podziemnej "Solidarności" Regionu Gdańskiego. W kwietniu 1982 został współorganizatorem ogólnopolskiej Tymczasowej Komisji Koordynacyjnej podziemnej "Solidarności", gdzie odpowiadał za koordynację współpracy z zagranicą. Aresztowany w czerwcu 1984 r., został oskarżony o zdradę ojczyzny. Po pół roku pobytu w więzieniu został zwolniony na mocy amnestii. Ponownie aresztowany w lutym 1985 r., skazany na 2,5 roku więzienia, został zwolniony we wrześniu 1986 r. na podstawie amnestii. W 1986 r. wszedł w skład Tymczasowej Rady "Solidarności", a w 1987 r. - Krajowej Komisji Wykonawczej - jawnych struktur kierowniczych nielegalnego związku. Od 1988 r. był członkiem Komitetu Obywatelskiego przy przewodniczącym NSZZ "Solidarność". Brał udział w rozmowach Okrągłego Stołu. Był senatorem w latach 1989-91. Na II Zjeździe "Solidarności" w 1990 r. został wybrany w skład Prezydium Komisji Krajowej jako odpowiedzialny za kontakty zagraniczne. Od 1991 r. nie uczestniczył w życiu publicznym w skali ogólnopolskiej, ale brał udział w działalności społecznej w Gdańsku. W 1997 r. wstąpił do Unii Wolności. Od czerwca 2003 r. był członkiem zarządu tej partii. W maju 2005 r. został członkiem zarządu Partii Demokratycznej.