1907 m. baigė Veiverių mokytojų seminariją.
I pasaulinio karo metu tarnavo Rusijos kariuomenėje.
1917 m. baigė Vilniaus karo mokyklą Poltavoje bei paskirtas į 60 atsargos batalioną 13 kuopos jaunesniuoju karininku.
1919 m. mobilizuotas į Lietuvos kariuomenę bei paskirtas į Atsargos batalioną kuopos jaunesniuoju karininku (nustatytas leitenanto laipsnis) vėliau perkeltas į 10 pėstininkų pulką.
1920 m. paskirtas Ryšių komandos viršininku, vėliau perkeltas Suvallkų komendantūrą, dar vėliau perkeltas į 12 pėstininkų pulką, paskirtas 6 kuopos vadu. Suteiktas vyresniojo leitenanto laipsnis.
1921 m. perkeltas į Kariuomenės teismą, vėliau – į Panevėžio stoties komendantūrą. Metų pabaigoje paskirtas Virbalio stoties komendantu, veliau – Kauno stoties komendantu.
1923 m. perkeltas į 6 pėstininkų pulką.
1923 m. baigė Aukštuosius karininkų kursus (III laida).
1925 m. suteiktas kapitono laipsnis bei perkeltas į 9 pėstininkų pulką.
1929 m. perkeltas į Komitetą karo invalidams šelpti bei paskirtas jo vedėju, suteiktas majoro laipsnis.
1935 m. perkeltas į Priešlėktuvinės apsaugos rinktinės ūkio viršininku.
1939 m. pačiam prašant paleistas į atsargą pulkininko leitenanto laipsniu.
Karo ir pokario metais mokytojavo Šlienavoje ir Panemunėje.
1975 m. palaidotas Kaune, Panemunės kapinėse.
DLK Gedimino 4 laipsnio ordinas (1932 m.)
Lietuvos nepriklausomybės medalis (1928 m.)
1. Lietuvos kariuomenės karininkai 1918-1953 (II tomas). Vilnius, 2002, p. 228-229
2. Juozas Kudirka. Veiverių mokytojų seminarija (1866-1918), Vilnius, 1970, p. 69
3. Fotografijų originalai saugomi Adomo Miliausko kolekcijoje ir Veiverių Tomo Žilinsko gimnazijos muziejuje