본관은 당악(唐岳). 평안북도 삭주 출생. 아버지는 김시성(金時聲)이다.
삭주농흥학교를 졸업하였다. 1919년 3·1운동이 일어나자 향리에서 독립만세운동을 주도하였다.
그 뒤 조선총독부 경찰의 추적을 피하여 그해 7월 만주로 건너가 1922년 8월에 결성된 대한통의부(大韓統義府)에 들어가 활약하였다. 1923년 7월 국내파견 결사대장으로 선임되어 대원 11명을 이끌고 삭주 대관주재소(大館駐在所)를 습격하였다.
조선총독부 경찰 1명을 사살하고 수 명을 부상시키고 장총 7정과 군도 1개를 노획하였으며 주재소를 폭파, 소각하였다.
1924년 5월 재무부장 오동진(吳東振)의 재입국명령을 받고 대원을 이끌고 의주에 도착, 영산주재소(永山駐在所)를 습격하여 조선총독부 경찰 3명을 사살하고 장총 4정, 군도 9개를 노획하였다.
이해 8월에 검무원(檢務員)으로 활동하다가 정의부에 가담하였으며, 1925년 북만주에서 신민부(新民府)가 설립되자 이에 가입, 항일투쟁을 하던 중 1936년 3월 목란현(穆蘭縣)에서 일본경찰에 잡혀 신의주지방법원에서 징역 15년의 형을 언도받고 이에 불복하고 상소하였다.
1939년 6월 평양복심법원에서 다시 징역 15년형을 언도받아 마포·서대문 형무소 등에서 복역하다가 1945년 광복을 맞아 출옥하였다.
1968년 건국훈장 독립장이 서훈되었다.