Na studiach brał udział w założeniu Ruchu Solidarności Młodych (1986), przekształconego później w Niezależny Ruch Solidarności Młodych. Zainicjował wydawanie pisma literackiego „Kartki”. Pod koniec lat 80. działał w strukturach jawnej i następnie legalnej „Solidarności”. Od 1988 do 1989 był rzecznikiem prasowym Regionalnej Komisji Wykonawczej w Białymstoku, w latach 1989–1990 był delegatem na Walny Zjazd Delegatów Regionu Białystok, zasiadał w Prezydium Zarządu Regionu, a w 1990 był delegatem na II Krajowy Zjazd Delegatów. Od 1989 wchodził w skład regionalnego Komitetu Obywatelskiego. Od 1990 do 1992 był zastępcą redaktora naczelnego „Tygodnika Białostockiego” oraz redaktorem naczelnym pisma „Puls”. W 1992 założył prywatne ogólnopolskie wydawnictwo „Publikator”, którym kierował do 2007.

W 2001 podjął działalność w Platformie Obywatelskiej. Współtworzył struktury PO w województwie podlaskim, w latach 2003–2006 był przewodniczącym zarządu miejskiego PO w Białymstoku. W 2005 został wybrany na posła V kadencji z listy Platformy Obywatelskiej. W Sejmie zainicjował uchwałę dotyczącą zaniepokojenia łamaniem praw obywatelskich na Białorusi.