본명은 창섭(昌燮), 일명 원국(元局). 호는 석포(石浦). 광주(光州) 출신. 의병 김원범(金元範)의 형이다.
1905년 9월 광주군 송정리시장에서 일본 군인을 타살한 뒤 피신하고 있으면서 뜻을 같이하는 동지들을 규합하였다. 그러던 1906년 3월 김원범과 광주 무등산 일대에서 의병을 일으키고 의병장이 되어 300명의 부하를 거느리고 일본군과 접전하였다. 1907년 6월 광주 우암면에서 적과 교전 중 붙잡혀 목포로 압송되었으나 도중에 탈출, 함평 먹굴산으로 피신하였다.
1905년 9월 김원범이 도포장(都砲將)으로 활약한다는 말을 듣고 김원범을 찾아가 의병에 입진, 선봉장이 되었다. 1908년 1월 창평 무동촌(舞童村)에서 매복 중 일본 헌병대와 접전, 대장 요시다[吉田] 이하 수명을 사살하였으며, 장성 낭월산(朗月山)에서도 적과 교전하였다.
1908년 3월 영광 토산(土山)에서 패전, 불갑산(佛甲山)으로 후퇴, 광주 어등산(魚登山)에서 참패를 당하였다. 그 후 12월 19일 어등산에서 적의 기습을 받아 잡혀갔던 김원범이 1909년 2월 취조받던 김원범이 자결하였다는 소식을 듣고 격문을 발송, 동지를 규합하여 의병장에 취임하였다.
일제가 의병 대토벌전을 펼치자 게릴라전으로 대응하며, 함평을 근거지로 광주·나주·능주·동복·창평·담양·장성·영광 등지에서 활약하였다. 그 뒤 나주 관동에서 일본군 4명 사살, 함평 오산면에서 일군과 접전 등으로 큰 전과를 올리기도 하였다.
그 때 입은 부상으로 더 이상의 활동이 어렵게 되자 군사지휘권을 곽진일(郭鎭一)에게 위임하고, 광주 우산면 향악리에서 병을 치료하였다. 1909년 6월 일본군에게 붙잡혀 광주감옥에서 복역하다가 대구감옥으로 이송된 뒤 총살, 순국하였다.
1963년 건국훈장 독립장이 추서 되었다.