충청남도 청양 출신. 1905년 을사조약이 강제 체결되자 궁내부주사를 사직하고 정재호(鄭在鎬)·김덕진(金德鎭) 등과 함께 일제를 축출할 것과 을사오적을 토멸하기로 결의하고, 민종식(閔宗植)을 총대장으로 추대하고 자신은 운영대장격인 향관(餉官)에 임명되었다.
1906년 4월 중순과 하순에 정산·홍산·서천·남포 등지에서 의병대를 편성하고 총포와 탄약 등을 입수하여 대포병 200명, 총수(銃手) 200명, 비인(庇仁)의 사병 100명, 남포의 사병 100명 등으로 홍주성을 공격하여 적 10여 명을 사살하고 4명을 사로잡는 전과를 올리고 홍주성을 함락하였다. 그러나 5월 7일 일본군의 불의의 습격으로 홍주성을 빼앗겼다. 재탈환을 모색하던 중 적에게 잡혀 서울로 압송되었다.
평리원재판소에서 종신유형을 선고받고 9개월간 옥고를 치른 뒤 진도로 유배되었다. 1907년 7월 일본관헌이 고위관직으로 회유하고자 하였으나 이를 거부하고 항일사상 선양에 주력하였다.
1910년 일제가 한국을 강점하자 그 부당함을 공언(公言)하다가 연행되어 고문을 당하였다. 그날밤 탈옥하여 죽을 때까지 은신하였다. 은거중 항일의병투쟁에 관한 기록을 정리하여 『의거실기(義擧實記)』를 저술하였다.
1968년 대통령표창, 1977년 건국포장, 1990년 애국장이 추서되었다.