Народився 7 червня 1964 р. у Львові. У 1986 р. закінчив Львівський державний університет ім. І.Франка (історик). Після закінчення університету пішов працювати вчителем школи-інтернату. У 1987 р. став викладачем львівського медучилища. Пізніше - молодшим науковим співробітником Львівського музею українського мистецтва.
1987-1989 рр. - секретар і член ради "Товариства Лева" у Львові.
1989-1990 рр. - член президії Львівської крайової ради Руху, член Великої ради Руху.
1990-2006 рр. - народний депутат Верховної Ради I, II, III, IV скликань.
1991 р. - член президії Партії демократичного відродження України (ПДВУ).
1992-1993 рр. - радник прем'єр-міністра України.
1996-1999 рр. - член політвиконкому і Політради Народно-демократичної партії, заступник голови НДП з питань ідеологічної роботи, глава Львововской обласної організації НДП.
1997-1999 рр. - член державної комісії з проведення в Україні адміністративної реформи.
З 2001 р. - член спеціальної ради Громадської ініціативи "Форум національного порятунку", член президії Громадського комітету опору "За правду". Під час протистояння на Майдані один з головних польових командирів революції.
Лютий 2005 - жовтень 2005 р. - президент Національної телекомпанії України.
2006 р. - радник Президента України.
2007 р. - народний депутат VI скликання від Нашої України-Народної Самооборони, № 29 в списку.