Российский политический деятель, депутат Государственной думы второго, третьего и четвёртого созывов.
Окончил математико-механический (1971) и юридический (1993) факультеты Ленинградского (Санкт-Петербургского) государственного университета.
С 1974 — ассистент, затем старший преподаватель кафедры высшей математики Ленинградского политехнического института (ныне — Санкт-Петербургский государственный технический университет).
В 1990—1993 — депутат Ленсовета (Санкт-Петербургского совета), заместитель председателя комиссии по воспитанию и народному образованию.
С 1993 — член Региональной партии центра (РПЦ; действовала в Санкт-Петербурге).
В 1993—1994 — старший преподаватель кафедры высшей математики Санкт-Петербургского государственного технического университета.
В 1994—1995 — помощник депутата Совета Федерации первого созыва Юрия Болдырева.
С 1994 — адвокат Международной коллегии адвокатов «Санкт-Петербург». С 1996 — член исполкома Гильдии российских адвокатов. В 1999 был избран вице-президентом Международной коллегии адвокатов «Санкт-Петербург».
В 1994 выиграл два получивших значительное освещение в СМИ судебных процесса — по иску вице-мэра Санкт-Петербурга Вячеслава Щербакова к мэру города Анатолию Собчаку о незаконном увольнении и по иску ряда общественных организаций к мэру о незаконной отмене решения городской избирательной комиссии по выборам в Законодательное собрание города весной 1994.
Также участвовал в судебных процессах «Трудовой коллектив института „Союзпроектверфь“ против Комитета по управлению городским имуществом Санкт-Петербурга», «„Яблоко“ против Центризбиркома» (о признании недействительным решения об отказе в регистрации избирательного объединения).
В 1996 выиграл процесс по иску к Центральному банку России о выделении Санкт-Петербургу средств территориального дорожного фонда.
18 октября 1999 выиграл в суде Центрального района Санкт-Петербурга процесс против министерства финансов России. Требовал признать незаконными действия Минфина по исполнению федерального бюджета 1998 года. Ему удалось доказать, что из-за недофинансирования ряда федеральных программ по Санкт-Петербургу оказались нарушенными его права, так как министерство не выделило утвержденные в бюджете средства на восстановление линии метро, разорванной в результате размыва, на строительство защитных сооружений от наводнений в Финском заливе, на строительство фонда хранилища Эрмитажа и нового здания Российской Национальной библиотеки.
В 1995 был избран депутатом Государственной думы второго созыва по Юго-Западному округу Санкт-Петербурга, был выдвинут объединением «Яблоко». Член фракции «Яблоко». Член Комитета по законодательству и судебно-правовой реформе.
Входил в состав специальной комиссии Государственной думы по оценке соблюдения процедурных правил и фактической обоснованности обвинения, выдвинутого против президента России Бориса Ельцина. Выступил с особым мнением, считая, что по двум пунктам обвинения (в связи с совершением действий, приведших к ослаблению обороноспособности и безопасности России; в связи с совершением действий, приведших к геноциду российского народа) привлечение президента к уголовной ответственности противоречит Уголовному кодексу России. А по одному пункту (в связи в событиями сентября — октября 1993 в Москве) недостаточно исследован вопрос о том, препятствует ли выдвижению обвинения принятое Государственной думой постановление от 23 февраля 1994 «Об объявлении политической и экономической амнистии».
В 1999 вновь избран депутатом Государственной думы по этому же округу, был выдвинут объединением «Яблоко». Член фракции «Яблоко». Заместитель председателя Комитета Государственной Думы по конституционному законодательству и государственному строительству.
В 2003 вновь избран депутатом Государственной думы четвертого созыва по этому же округу, был выдвинут объединением «Яблоко». Не входит в зарегистрированные депутатские объединения. Член Комитета по конституционному законодательству и государственному строительству.
с 1997 — член политсовета Региональной партии центра — «Яблоко». С момента основания объединения «Яблоко» был председателем его ревизионной комиссии. Заместитель председателя Российской демократической партии «Яблоко».
В 2007 выдвинут кандидатом в депутаты Государственной думы от партии «Справедливая Россия» (номер 1 в списке по Липецкой области).