Urodził się 19 lipca 1939 r. w Milanówku. Jest absolwentem VI Liceum Ogólnokształcącego im. Tadeusza Reytana w Warszawie (1956). Studiował polonistykę na Uniwersytecie Warszawskim oraz filozofię chrześcijańską na Katolickim Uniwersytecie Lubelskim. Obronił doktorat z filozofii, a w 1995 r. habilitował się z historii. W 2011 r. otrzymał tytuł naukowy profesora nauk humanistycznych.