1891년 평안북도 정주에서 출생했다.
1910년 평북 정주의 오산학교를 졸업하고 경기도 용인에 자리한 삼악학교, 1912년 만주 신흥무관학교 교사로 재직했다. 1913년 귀국했고 1916년 도쿄세이소쿠[東京正則]영어학교 입학했다. 졸업 후 1918년 황해도 재령에 있는 명신학교에서 지리·역사교사 교사로 근무했다.
1919년 2월 독립만세운동 계획 당시, 현상윤(玄相允)의 부탁으로 기독교계의 이승훈(李昇薰)과의 연락을 담당해, 이승훈과 최남선(崔南善)의 회동을 성공시켰다. 이후 민족대표 48인 중의 하나로 투옥되었으나 재판에서 증거불충분으로 석방되었다.
1921년부터 25년간 휘문(徽文)중학교 교사로 재직했다. 1938년 일제의 해군기념일(5.27)을 맞아 1905년 러시아 발틱 함대를 격파한 '일본해 해전'을 '트라팔가·유틀란트 해전'과 함께 '세계 3대 해전'으로 소개하는 글(『매일신보』, 1938.5.27)과 1942년 소년·소녀들에게 일본군이 점령한 지역의 기후와 지리를 설명하는 글을 게재했다.
1945년 경성여자상업학교(현 서울여자상업고등학교), 문영여자중학교, 휘문중학교 등의 교장 및 조선지리학회회장 등을 거쳐, 1949년 공군사관학교 교수로 재직했다. 1956년 12월 26일 사망했다.
1968년 대통령 표창, 1980년 건국포장, 1990년 건국훈장 애국장을 받았다.