W latach 1957–1971 pełnił funkcję miejskiego konserwatora zabytków w Toruniu, w latach 1972–1983 był dyrektorem Zarządu Muzeów i Ochrony Zabytków w Ministerstwie Kultury i Sztuki. Zajmował także stanowisko generalnego konserwatora zabytków (1971–1983), a w latach 1984–1992 był prezesem zarządu głównego Stowarzyszenia Konserwatorów Zabytków. W latach 1986–1989 był członkiem Ogólnopolskiego Komitetu Grunwaldzkiego. W latach 1985–1989 pełnił funkcję sekretarza generalnego Rady Ochrony Pamięci Walk i Męczeństwa. W lutym 1989 wszedł w skład działającej przy tej instytucji Komisji do spraw Upamiętnienia Ofiar Represji Okresu Stalinowskiego. Od 1996 do 1997 był dyrektorem Instytutu Polskiego w Berlinie, a w latach 2000–2006 zasiadał w Międzynarodowej Radzie Oświęcimskiej.

W 1972 uzyskał na Uniwersytecie Warszawskim stopień doktora. Tematem jego pracy doktorskiej była Problematyka konserwatorska średniowiecznych miast w Polsce, a jej promotorem Stanisław Lorentz. W 1989 na podstawie rozprawy Geneza, uwarunkowania i mechanizmy ochrony zabytków w Polsce uzyskał na UMK stopień doktora habilitowanego nauk humanistycznych w zakresie historii. Tytuł profesora nauk technicznych otrzymał w 1999.