Nato a Marradi (Firenze) il 5 dicembre 1938, residente a Firenze, è laureato in economia e commercio. E' stato presidente della Comunità montana dell'Alto Mugello e assessore al Comune di Marradi. Ha fatto parte della direzione provinciale della Democrazia Cristiana di Firenze.
Alle consultazioni regionali del 6 - 7 giugno 1970 si è presentato nella lista della Democrazia Cristiana ed è stato eletto nella circoscrizione di Firenze con 5.522 preferenze. Nel corso della legislatura è stato membro della commissione Industria, commercio e artigianato.
Alle elezioni regionali del 15 ? 16 giugno 1975, presentatosi nella stessa lista e circoscrizione, ha ottenuto 7.433 preferenze. E' diventato consigliere regionale nell'aprile 1979 in sostituzione del consigliere Tommaso Bisagno. Nel corso della legislatura è stato membro della commissione Affari istituzionali.
Nuovamente eletto alle elezioni dell'8 - 9 giugno 1980 nella circoscrizione di Firenze nella lista della DC con 10.336 preferenze, è stato presidente della commissione Istruzione e cultura e presidente della commissione speciale per la Programmazione.
Alle elezioni regionali del 12 - 13 maggio 1985 è stato rieletto a Firenze nella lista della DC ed ha ottenuto 16.228 preferenze. Ha ricoperto l'incarico di segretario della commissione Industria, commercio e artigianato fino al maggio 1987 quando si è dimesso per presentarsi alle elezioni politiche. E' stato sostituito dal consigliere Paolo Bartolozzi. Ha aderito al gruppo DC.