Urodził się 1 października 1897 r. w Brzozowie. Syn Bronisława.
Od 1909 r. kształcił się w gimnazjum w Brzozowie, w 1916 r. ukończył gimnazjum we Lwowie.
W czasie I wojny światowej od 18 stycznia 1916 r. w Legionach Polskich. Służył w 3 pp LP.
Po kryzysie przysięgowym w Legionach od września1917 r. w Polskim Korpusie Posiłkowym. Służył w 3 pp LP. W następstwie przejścia II Brygady przez front pod Rarańczą (15/16 lutego 1918) internowany przez Austriaków w Huszt (do 30 kwietnia).
Zwolniony, został wcielony do armii austro-węgierskiej.
Od 1 listopada 1918 r. w WP. W stopniu st. szer. był dowódcą posterunku żandarmerii w Brzozowie. Od 18 grudnia 1918 do 19 lipca 1919 r. służył w pociągu pancernem „Smok”, po czym skierowanogo do Szkoły Podchorążych. 15 lutego 1920 r. mianowany ppor. piech.
W 1921 r. w 56 pp. Następnie odkomenderowany do Szkoły Podchorążych Piechoty. Zweryfikowany jako por. piech. z 1 czerwca 1919 r., służył w 56 pp (1923, 1924). Co najmniej od 1928 r. w baonie manewrowym. Awansowany 1 stycznia 1930 r. na kpt. piech., był m.in. dowódcą komp. 19 stycznia 1932 r. jako kierownik referatu pełnił służbę w Wojskowym Biurze Historycznym. Od 1939 r. szef wydz. formacji polskich.
Członek Zw. Legionistów Polskich.
Podczas kampanii 1939 r. ewakuowany z biurem w kierunku południowo-wschodnim, po agresji sowieckiej z 17 września przeszedł do Rumunii. Następnie przedostał się na zachód. W 1944 r. pełnił służbę w Gabinecie Naczelnego Wodza.
Zmarł po 1946 r.
Odznaczony Krzyżem Niepodległości, złotym i srebrnym Krzyżem Zasługi.
Opublikował (wspólnie z Eugeniuszem Quirinim) Ilustrowaną Kronikę Legionów 1914-1918, Warszawa 1936.
„Monitor Polski” nr 218/1931; Rocznik oficerski 1923, 1924, 1928, 1932; R. Rybka, K. Stepan, Rocznik oficerski 1939, Kraków 2006; Sprawozdanie Dyrekcyi c.k. Gimnazyum w Brzozowie za rok szkolny 1916/17, Miejsce Piastowe brw; A. Tuliński, Oficerowie Biura Historycznego i Wojskowego Biura Historycznego w latach 1922-1939 (część 2), „Przegląd Historyczno-Wojskowy” nr 2/2020.