Nato a Pontedera (Pisa) il 1 agosto 1936, residente a Pontedera, ha conseguito la licenza media. Iscritto al Partito Socialista Italiano nel 1950, è stato nominato presidente dell'Ospedale Lotti di Pontedera nel 1958 e vi è rimasto in carica fino al 1961. Consigliere comunale a Pontedera dal 1960 al 1965, poi consigliere provinciale a Pisa, è diventato sindaco della città nel 1965 ed ha ricoperto la carica per due legislature, fino al 1975. Presidente della sezione toscana dell'ANCI, ha fatto parte del direttivo regionale del PSI toscano e della federazione del PSI di Pisa.
Alle consultazioni regionali del 15 - 16 giugno 1975 è stato eletto nella circoscrizione di Pisa con 3.544 preferenze, nella lista del Partito Socialista Italiano. Nel corso della legislatura è stato componente della Giunta regionale con l'incarico di assessore all'Urbanistica.
Alle consultazioni regionali dell'8 - 9 giugno 1980 è stato rieletto nella circoscrizione di Pisa con 4.972 preferenze, nella lista del Partito Socialista Italiano. Riconfermato assessore all'urbanistica fino al novembre 1983, diventa presidente del Consiglio regionale fino alla fine della legislatura.
Alle elezioni regionali del 12 - 13 maggio 1985 è stato nuovamente eletto nella circoscrizione di Pisa con 5.977 preferenze, nella lista del Partito Socialista Italiano. Nel corso del suo mandato, fino al maggio 1987, data delle sue dimissioni per presentarsi alle elezioni politiche, è stato presidente del Consiglio regionale. E' stato sostituito dal consigliere Luisella Aliberti. Ha aderito al gruppo PSI.