1942–1948 m. mokėsi Kauno Jėzuitų gimnazijoje. 1948–1954 m. už antitarybinę veiklą kalintas Vorkutos ypatingojo režimo lageriuose.
1956 m. baigė Kauno 3-iąją darbo jaunimo vidurinę mokyklą. 1961 m. baigė Kauno politechnikos institutą ir įgijo inžinieriaus statybininko specialybę. 1969–1974 m. studijavo Vilniaus inžinerinio statybos instituto aspirantūroje. 1974 m. apgynė architektūros mokslų daktaro disertaciją.
1961–1974 m. buvo Švenčionių rajono architektas, 1974–1992 m. – Valstybinio kolūkių statybos projektavimo instituto projektuotojas, skyriaus viršininkas, firmos „Krašto projektai“ vyriausiasis architektas.
1992–1996 m. ir 2000–2008 m. – Seimo narys, dirbo Švietimo, mokslo ir kultūros komitete, buvo Pasipriešinimo okupaciniams režimams dalyvių ir nuo okupacijų nukentėjusių asmenų teisių ir reikalų bei Peticijų komisijų narys.
1996–2001 m. – Valstybinės paminklosaugos komisijos narys, 1998–2001 m. – komisijos pirmininkas. 2000–2003 m. ėjo Vilniaus miesto savivaldybės tarybos nario pareigas.
Nuo 1989 m. priklausė Lietuvos politinių kalinių ir tremtinių sąjungai, nuo 1991 m. – sąjungos Vilniaus bendrijos tarybai. Nuo 1999 m. buvo Tėvynės sąjungos (Lietuvos konservatoriai) narys.
Mokslinėje ir periodinėje spaudoje paskelbė apie 200 mokslinių ir publicistinių straipsnių, parašė kelias knygas. Urna su Velionio palaikais kovo 24 d. bus pašarvota Vilniaus laidojimo rūmų 2 salėje (Olandų g. 22). Atsisveikinimas – nuo 10 iki 14 val. Velionis bus palaidotas Vilniaus Liepynės kapinėse.