Gimė 1950m. Molėtų rajone, augo Daugų miestelyje. 1968 m. baigęs Vilniaus 1-ąja mokyklą - internatą, dirbo darbininkų įvairiose statybinėse organizacijose ir studijavo Vilniaus universiteto Teisės fakultete, vakariniame skyriuje.
Baigdamas studijas universitete, dirbo Lietuvos buitinės chemijos gamybiniame susivienijime juriskonsultu, kadrų rengimo sektoriaus viršininkų.
1976 m. įstojo į SSKP.
1981 m. priimtas dirbti į Vilniaus transporto prokuratūrą prokuroro padėjėjų.
1985 m. pakviestas dirbti į Respublikos prokuratūrą Bendrosios Priežiūros Skyriaus prokuroru. Iš SSKP išstojo 1989 m.. Vienas iš prokuratūros Sąjūdžio grupės įkūrimo, taip pat Lietuvos teisininkų draugijos atkūrimo iniciatorių.
1990 m. išrinktas Lietuvos SSR Aukščiausiosios Tarybos deputatu. Buvo Krašto apsaugos ir reikalų komisijos, SSRS KGB veiklai Lietuvoje tirti laikinosios komisijos narys, Vyriausybės komisijos KGB dokumentų susigrąžinimo klausimams spręsti pirmininkas.
Yra Tėvynės sąjungos (Lietuvos konservatorių) valdybos narys.
Žmona Sigita - Chemikė, dirba Lietuvos buitinės chemijos gamybiniame susivienijime. Du vaikai: sūnus Gediminas - 11 klasės mokinys ir dukra Jurgita - penktokė.
Išrinktas: daugiamandatėje (Sąjūdžio koalicija)