W latach 1965–1969 był radnym Miejskiej Rady w Rybniku z ramienia Stronnictwa Demokratycznego, a następnie wieloletnim członkiem władz powiatowych, wojewódzkich i centralnych tej partii.

W latach 1977–1983 był sędzią Sądu Najwyższego, w tym w latach 1978–1983 delegowanym do Ministerstwa Sprawiedliwości do pełnienia funkcji zastępcy dyrektora Głównej Komisji Badania Zbrodni Hitlerowskich w Polsce. W latach 1983–1990 pełnił funkcję podsekretarza stanu w Ministerstwie Sprawiedliwości, w tym w latach 1989–1990 był również dyrektorem Głównej Komisji Badania Zbrodni Hitlerowskich. W latach 1988–1990 członek Rady Ochrony Pamięci Walk i Męczeństwa radaopwim.gov.pl [dostęp 2011-11-06].. W lutym 1989 wszedł w skład działającej przy tej Radzie Komisji do spraw Upamiętnienia Ofiar Represji Okresu StalinowskiegoRzeczpospolita, 1989, nr 37 (2171), str. 1-2.

W latach 1993–1997 był adwokatem, a od 1997 ponownie sędzią Sądu Najwyższego. Współzałożyciel Fundacji Pamięci Ofiar Auschwitz-Birkenau, od 2011 r. Prezydent Rady tej Fundacji. W 2003 przeszedł w stan spoczynku. Po przejściu w stan spoczynku w związku z ukończeniem 70 lat, założyciel i Przewodniczący Stowarzyszenia Sędziów Sądu Najwyższego w st. sp., 3 grudnia 2013 r. powołany przez Prezydenta RP w skład Komitetu Budowy Pomnika Wojciecha Korfantego w Warszawie.