서울 출신. 무관학교(武官學校)를 졸업하고, 지청천(池靑天) · 이응준(李應俊) · 김석원(金錫源) 등과 함께 일본육군 중앙유년학교(中央幼年學校)와 사관학교에서 유학하고 1913년에 졸업하였다.
귀국 후 용산병대(龍山兵隊)에 배속되어 근무하면서 독립운동 대열에 참가하기 위해 군사기밀을 빼내어 상해 방면으로 망명하려 하였으나 신의주에 이르러 일본경찰에 잡혔다. 이로 인해 군법회의에 회부되었으나 과거 사관학교 재학 당시 일본인 교관의 도움으로 악형은 면하고 옥고를 치르다가 출옥하였다.
그 뒤 오산학교(五山學校) 체육교사로 근무하였는데, 1919년 3·1운동이 일어나자 전교생을 지도하여 만세시위를 주도하였다. 이 일로 다시 옥고를 치렀으며, 출옥 후에는 김성수(金性洙)의 주선으로 중앙학교(中央學校) 체육교사로 자리를 옮겼다. 이때 민족의 장래를 위해 청소년의 철저한 훈련이 필요하다고 생각하고 병식체조를 가르쳤다.
또한 1922년에는 소년독립군의 배양에 뜻을 둔 조선소년군을 창단하였다. 이는 우리나라 ‘보이스카우트’의 효시로, 청소년들에게 독립사상과 민족적 단결을 고취하는 것이 목적이었다.
1924년 조선소년군과 소년척후대가 통합되어 소년척후단조선총연맹으로 발전하자 부총무로 취임하였다. 한편 그 해 개최된 어린이날 행사에는 방정환(方定煥) · 이종린(李鍾麟) 등과 함께 준비위원으로 피선되었다.
1926년 6·10만세운동 때에는 배후조종자로 지목되어 옥고를 치르다가 출옥 후 북간도로 망명하였다. 그 뒤 북간도의 동광중학교(東光中學校)에 재직하면서 독립군 양성에 힘썼는데, 1931년 학교운영자금을 조달하기 위해 국내에 들어왔다가 일본경찰에 잡혔다.
이때 김성수의 신원보증으로 풀려나온 뒤, 동아일보사에 근무하면서 조선소년군의 총사령으로 취임하여 본격적인 보이스카우트재건운동을 전개하였다. 1932년 지도자강습회를 실시하였고, 1933년 기관지 『의여차(義如此)』를 발간하였다.
그런데 1937년 일제가 조선소년군을 일본보이스카우트에 병합시키려 하자 대항하다가 결국 강제해산을 당하였으며 다시 옥고를 치르게 되었다. 출옥 후 1939년 보성전문학교(普成專門學校)에 체육교수로 근무하였으나 그동안 여러 차례의 옥고로 인해 죽었다.
1977년에 건국포장, 1990년 애국장이 추서되었다.