Od końca lat 60. był członkiem komunistycznych organizacji młodzieżowych, w latach 1968–1981 należał do PZPR. W 1980 zaangażował się w działalność „Solidarności”, został członkiem komitetu założycielskiego związku na swoim wydziale, brał udział w opozycyjnych manifestacjach. W lutym 1982 został internowany, uczestniczył w proteście głodowym, zwolniono go w kwietniu tegoż roku. Współpracował z wydawnictwami drugiego obiegu jako publicysta „Komunikatów” i „Z dnia na dzień” oraz współredaktor pisma „Basia”.
W 1989 stanął na czele wrocławskiego Centrum Demokratycznego. W latach 1990–1994 był wiceprzewodniczącym rady miejskiej we Wrocławiu. W wyborach parlamentarnych w 1991 bez powodzenia ubiegał się o mandat poselski z listy Kongresu Rzeczypospolitej Samorządnej. Działał w Bezpartyjnym Bloku Wspierania Reform, był wiceprezesem tego ugrupowania, przewodniczącym rady programowej i kandydatem do Sejmu w 1993. W 1995 kandydował w wyborach uzupełniających do Senatu, a w 1997 do Sejmu z listy Bloku dla Polski, w 2002 z ramienia Wrocławskiego Forum Samorządowego na prezydenta Wrocławia (zajął 8. miejsce spośród 10 kandydatów), a w 2018 z listy Bezpartyjnych Samorządowców do sejmiku dolnośląskiego.