Né le 4 novembre 1943 à Neuchâtel.

En 1967, obtient la licence en droit à l’Université de Lausanne.

D’octobre 1968 à décembre 1969, exerce la profession de juriste à la Section des recours du Département de justice et police (VD), puis de greffier-juriste au Tribunal cantonal des assurances (VD).

Dès le 1er janvier 1970, commence un stage d’avocat à Genève et, simultanément, est engagé comme avocat-conseil par l’ASLOCA – Association genevoise de défense des locataires.

En 1973, obtient le brevet d’avocat. Il exerce alors comme avocat indépendant au Barreau de Genève, tout en continuant son travail auprès de l’ASLOCA-Genève jusqu’à fin 2000.

De 1989 à 1991, est député au Grand Conseil genevois.

De 1991 à 2003, est conseiller national, élu sur la liste du parti socialiste genevois. Membre de la commission des affaires juridiques du Conseil national de 1991 à 2003 ; membre de la commission de sécurité de 1992 à 1994 ; membre de la commission des institutions politiques de 1995 à 2001 ; membre de la commission des transports et des télécommunications de 2001 à 2003.

De 1991 à 1999, est vice-président du groupe parlementaire contre le racisme. En 1998 et 1999, est président de la commission des affaires juridiques. De 2000 à 2003, est co-président du groupe parlementaire «Relations Suisse-Afrique du Sud».

De 1994 à 2000, est secrétaire général de l’ASLOCA romande, soit la fédération romande regroupant les associations cantonales de l’ASLOCA.

En janvier 2001, cesse ses activités professionnelles d’avocat indépendant, d’avocat-conseil de l’ASLOCA et de secrétaire de l’ASLOCA romande et devient directeur du Département municipal de l’aménagement, des constructions et de la voirie de la Ville de Genève.

En septembre 2006, il quitte le service de la Ville de Genève et reprend son activité d’avocat indépendant. Depuis 2019, il a réduit son activité de manière importante.

Depuis 2009, est membre du comité de la « Fondation Paul Grüninger » à Saint-Gall.

De 2008 à 2012, élu sur la liste de solidaritéS, a été membre de l’Assemblée constituante du canton de Genève, qui a élaboré la nouvelle constitution votée par le peuple en octobre 2012.