Народився 8 вересня 1962 року в селі Копачинці Городенківського району Івано-Франківської області.
1982 року закінчив технічне училище в Івано-Франківську.
Трудову діяльність розпочав помічником машиніста тепловоза. Проходив строкову військову службу.
1989 року закінчив юридичний факультет Львівського університету. Був стажистом Кіцманського районного народного суду Чернівецької області та Шевченківського районного народного суду Львова.
У 1989—1991 роках — асистент кафедри державного та адміністративного права Львівського університету, а в 1991—1994 роках — аспірант цього навчального закладу.
З 1994 року працював асистентом, доцентом кафедри державного та адміністративного права, завідувачем кафедри конституційного, адміністративного та фінансового права, заступником декана юридичного факультету, проректором з виховної роботи Львівського університету.
У серпні 2006 року Верховною Радою України призначений суддею Конституційного Суду України. Присягу склав 4 серпня 2006 року.
Кандидат юридичних наук (Харків, 1994, тема дисертації «Конституційно-правове регулювання державних символів України»), доцент (1996), доктор права (Doctoris juris, УВУ, Мюнхен, ФРН, тема дисертації «Проекти Конституції ЗУНР академіка Станіслава Дністрянського», 1997).
Автор низки наукових праць, навчальних посібників та монографій з конституційного права.