자는 치화(穉華), 호는 죽포(竹圃). 경상북도 안동 출신. 김중관(金重瓘)의 아들이다.
일찍부터 문명이 인근에 널리 알려져, 1894년 당시 경상감사 조병호(趙秉鎬)가 여러 차례 벼슬을 하도록 권유하였으나 거절했다.
1895년의 명성황후시해사건 이후 각지에서 의병운동이 일어나자 이에 참여하여 허위(許蔿)·이강년(李康秊) 등의 의병장들과 행동을 같이하기도 하였으나, 의병 해산의 조칙이 내리자 고향으로 돌아와 학문에만 열중하며 10여 년을 보냈다.
1905년 을사조약이 강제로 체결되자 5적의 매국행위를 규탄하는 「토오적문(討五賊文)」을 지어 전국 유림에 살포하였다.
1910년 일제의 국권침탈 소식을 듣자 비분하여 경학원(經學院)의 강사를 거절하고, “일제의 치하에서 자란 곡식은 먹을 수 없다.”며 단식을 감행, 스스로 목숨을 끊었다.
1963년 대통령표창, 1977년 건국포장, 1990년 애국장이 추서되었다.