광주(光州) 출신. 의병장 김원국(金元國)의 아우이다.
1905년 9월 이원국이 광주군 송정리 시장에서 일본헌병을 타살하고 피신하자, 보다 조직적인 항일운동을 전개할 목적으로 동지를 규합, 1906년 3월 형과 함께 광주 무등산에서 거의하였다.
이때 선봉장으로 추대되었으며, 의진의 규모는 300명이었다. 그 뒤 각처에서 적과 교전하여 많은 전과를 올리던 중 1907년 6월 광주 우암면에서 접전 끝에 대패, 김원국이 붙잡히는 등 적지 않은 인명피해로 의진은 해산되었다.
다시 조경환(曺京煥) 의진에 들어가 도포장(都砲將)에 임명되었다. 1908년(융희 2) 1월 창평 무동촌(舞童村)에서 매복중 일본헌병의 습격을 받고 교전 끝에 적의 대장 요시다[吉田] 이하 수 명을 사살하였다.
또한, 장성 낭월산(朗月山)에서 적과 교전하였으며, 3월 영광의 토산(土山)에서 패전하고 불갑산(佛甲山)으로 후퇴하였다. 다시 광산군 어등산(魚登山)에서 적과 접전하였으나 참패하였다.
6월 이대왕(李大旺) 의진과 합세하여 적을 공격, 격퇴하였으며, 그 뒤 오수산(烏首山)과 함평의 석문(石門) 등지에서 활약하였다.
1909년 1월 어등산에서 적과 교전중 의병장 조경환이 전사하자, 전기홍(全基泓) 의진과 합진하여 대동창의단(大東倡義團)을 조직, 중군장(中軍將)에 임명되어 광주·나주·장성 등지에서 활약하였다.
2월에 다시 무등산에서 적과 교전중 붙잡혀 광주주재 일본수비대에서 조사를 받던 중 자결하였다.
1963년 대통령표창, 1968년 건국훈장 독립장이 추서되었다.