본관은 상산(商山). 자는 성채(成彩), 호는 의암(毅庵). 전라남도 장성 출신. 아버지는 김영철(金英澈). 의병 활동 당시에는 성채라는 이름을 사용하였다.
1905년 을사조약이 강제 체결되면서 국운이 날로 기울어 가자 1906년 전라남도 영광에서 김준(金準)·전기홍(全基泓) 등과 밀회를 거듭하면서 거의(擧義)를 준비하였다. 그리하여 1907년 3월 장성군 삼서면 일대에서 동지 100여 명을 규합하여 의거의 기치를 올렸다.
정미칠조약이 강제 체결되고 군대마저 해산되자 호남 지방에서 고광순(高光洵)·기삼연(奇參衍) 의진이 크게 활약하였으나, 이들 의병장들은 본격적인 활동에 들어가기 전에 적과의 전투에서 패하고 붙잡히고 말았다.
그렇지만 전라도 지방에서는 김준·오성술(吳聖述)·전기홍 등에 의해 의병 활동이 지속적으로 전개되었는데, 이 무렵 영광·장성 등지에서 일본군과 교전하여 수십 명을 살상하는 등 큰 전과를 올렸다.
그 뒤 김준과 전기홍의 의진을 여러 차례 방문하여 의병 활동의 효과적인 전개 방향을 모색하였다. 1908년 2월 의병장 기삼연이 순국하고 4월 김준마저 전사하자, 호남의진은 대체로 조경환(曺京煥)과 전기홍의 의진으로 갈리면서 독자적으로 활약하게 되었다.
이 때 정원집(鄭元執)이 의병을 거느리고 남하하여 전기홍 의진에 합진하고 김찬순을 의병 대장으로 추대하자, 7월 8일 부하 100여 명을 거느리고 연합 의진에 합세, 의진의 도통장(都統將)이 되었다.
이대국(李大局) 의진의 총독장(總督將) 채경윤(蔡景允)을 연합 의진의 간부로 추천하는 한편, 이대국과 김유성(金惟成) 의진 등과 연합 내지 합진할 것을 권유하기도 하였다.
8월 12일 오후 영광읍 성내리에 진을 치고 일본군과 교전하다가 삼서면 대곡리에 은신하하던 중, 8월 30일경 삼서면 금강천변에서 일본군 20여 명에 포위당하여 교전 중 붙잡혀 사살되었다고 전한다.
1980년에 건국포장, 1990년 건국훈장 애국장이 추서되었다.