본관은 부안(扶安). 자는 내협(乃協)·여초(汝初). 호는 귀재(歸齋). 김경기(金敬基)의 증손으로, 할아버지는 김성(金筬)이고, 아버지는 진사 김계명(金啓明)이며, 어머니는 홍제민(洪濟民)의 딸이다.
1789년(정조 13) 식년 문과에 병과로 급제하여 승문원에 들어간 뒤, 의영고주부·종부시주부·종묘서영·감찰을 거쳐서, 1798년 장령·정언을 역임하였다. 같은 해 용강현령이 되었는데, 특히 학문을 일으키는 데 힘썼다.
그 뒤 지평·정악원정을 거쳐 1802년(순조 2) 다시 장령이 되었을 때, 시무책 6조와 궁인들의 불공을 금할 것을 건의하는 소를 올렸다. 1806년 장령으로 재직 중 귀향하여, 귀재(歸齋)라는 현판을 달고 후진 양성과 학문 연구에 힘썼다. 1820년 병조참의에 임명되었으나 병으로 나가지 못하였다.