본관은 청풍(淸風). 자는 사중(士重). 아버지는 판돈녕부사 김지묵(金持默)이다. 현종비 명성왕후(明聖王后)의 아버지 김우명(金佑明)의 5대손이다. 이구상(李龜祥)의 문인이다.
1774년 (영조 50) 생원시에 합격, 음보(蔭補)로 기용되어 영릉참봉(寧陵參奉)이 되었고, 1811년(순조 11) 총융사(摠戎使)에 임명되었다.
이어 금위대장·공조판서·지돈녕부사·도총관·한성부판윤 등을 두루 역임하였다. 왕실과 인척관계가 있으므로 항상 언행에 조심하여 60년 동안 궁궐에 출입하였어도 집안사람들에게 궁궐 안의 일을 말하지 않았다.
그러므로 임금의 신임이 두터웠으며, 아버지의 뒤를 이어 궁궐 일을 관장하게 되자, 더욱 근신하여 영비(營費)를 추호도 낭비하지 않고 봉직에 전력을 다하였다. 1826년 노령으로 정헌대부(正憲大夫)에 승진하였다가, 서만수(徐萬修)의 무고를 받아 외진 고을에 유폐된 지 수년 만에 별세하였다. 시호는 효헌(孝憲)이다.