Народився 07 червня 1964 року у місті Львові.
1986 року закінчив Львівський державний університет імені Івана Франка, історик. Володіє англійською, польською мовами.
З 1986 року — учитель школи — інтернату у Львові.
З 1987 року — викладач медичного училища у Львові.
Потім — молодший науковий працівник Львівського музею українського мистецтва.
У 1987 році по 1989 рік — секретар і член Ради «Товариства Лева» у Львові.
У 1989 році по 1990 рік — член президії Львівської крайової ради Руху, член Великої ради Руху.
З 1991 року — член президії ПДВУ.
З грудня 1992 року до вересня 1993 року - радник Прем'єр-міністра України.
Народний депутат України 1-го скликання з 15 травня 1990 року до 10 травня 1994 року, Мостиський виборчій округ № 275, Львівська область, висунутий трудовим колективом. 1-й тур, 10 претендентів, 61,98 % голосів.
Входив до Народної Ради, фракції «Нова Україна».
Член Комісії з питань законодавства і законності.
Народний депутат України 2-го скликання з 11 травня 1994 року до 12 травня 1998 року, Городоцький виборчій округ № 273, Львівська область, висунутий трудовим колективом. На час виборів — народний депутат України.
У лютому 1996 року по травень 1999 року - член політвиконкому і Політради, заступник голови з питань ідеологічної роботи та голова Львівської обласної організації Народно-демократичної партії (НДП).
З травня 1999 року — член правління партії «Реформи і порядок» (ПРП), голова Львівської обласної організації з червня 1999 року.
Був членом спеціальної ради Громадської ініціативи «Форум національного порятунку» з лютого 2001 року.
Член президії Громадського комітету опору «За правду» з березня 2001 року.
Народний депутат України 3-го скликання з 12 травня 1998 року до 14 травня 2002 року від НДП, № 10 в списку. На час виборів — народний депутат України, Член НДП. Паралельно балотувався по виборчому округу № 120 Львівської області.
Член фракції НДП травень 1998 року по червень 1999 року.
Член фракції ПРП «Реформи-Конгрес» з червня 1999 року.
Член Комітету з питань правової реформи з липня 1998 року.
Народний депутат України 4-го скликання з 14 травня 2002 року до 25 травня 2006 року, виборчий округ № 118, Львівська область, висунутий виборчим Блоком Віктора Ющенка «Наша Україна». На час виборів — народний депутат України, Член ПРП.
Член фракції «Наша Україна» травень 2002 року по вересень 2005 року, фракції політичної партії «Реформи і порядок» з вересня 2005 року.
Член Комітету з питань бюджету з червня 2002 року.
Під час Помаранчевої революції один з «польових командирів» Майдану.
З 25 лютого до 8 вересня 2005 року — Президент Національної телекомпанії України.
На парламентських виборах 2006 року балотувався за списками Громадянського блоку «Пора—ПРП», однак до Верховної Ради не потрапив — блок не подолав 3 % бар'єр.
Вересень 2006 року по серпень 2007 року — радник Президента України.
16 листопада 2006 року — виключений з ПРП у зв'язку з тим, що своїми діями завдавав шкоди авторитету партії.
У січні 2007 року разом з Юрієм Луценком організував громадський рух «Народна Самооборона».
Народний депутат України 6-го скликання з 23 листопада 2007 року до 12 грудня 2012 року від Блоку «Наша Україна — Народна Самооборона», № 29 в списку. На час виборів - тимчасово не працював, безпартійний.
Член фракції Блоку «Наша Україна — Народна Самооборона», заступник голови з листопада 2007 року.
Член Комітету з питань паливно - енергетичного комплексу, ядерної політики та ядерної безпеки, член Спеціальної контрольної комісії з питань приватизації з грудня 2007 року.
На виборах до Верховної Ради 2014 року проходив по виборчому списку (№ 7) партії «Громадянська позиція» Анатолія Гриценка.
Одружений. Дружина — Галина Степанівна, 1962 року — вчителька. Має двоє дітей.
Захоплюється футболом і літературою.
11.07.2014