W latach 60. i 70. był nauczycielem w liceum ogólnokształcącym w Tłuszczu oraz w Technikum Odzieżowym w Warszawie. Od 1969 do 1972 zatrudniony był w warszawskich Wydawnictwach Handlu Zagranicznego. W latach 1978–2008 pracował w Bibliotece Narodowej, pełniąc od 2001 funkcję kierownika Instytutu Książki i Czytelnictwa BN. Jako nauczyciel akademicki związany był z Uniwersytetem Łódzkim (1995–2004), a od 2005 z Akademią Świętokrzyską im. Jana Kochanowskiego w Kielcach. Na UŁ pod jego kierunkiem powstały trzy rozprawy doktorskie.
W latach 80. związany z opozycją antykomunistyczną. We wrześniu 1980 wstąpił do NSZZ „Solidarność”, był członkiem Komitetu Założycielskiego „S” w Bibliotece Narodowej. Po wprowadzeniu stanu wojennego z 13 grudnia 1981 został zatrzymany na kilka godzin. Następnego dnia uczestniczył w strajku w BN. Po jego pacyfikacji został internowany w ośrodkach odosobnienia w Warszawie–Białołęce i Jaworzu. Zwolniony 29 kwietnia 1982. Po 1984 działał w Duszpasterstwie Środowisk Twórczych w Warszawie oraz Duszpasterstwie Internowanych i Uwięzionych. W latach 1986–1989 należał do Rady Duszpasterstwa Ludzi Pracy przy kościele św. Klemensa w Warszawie.