본관은 의성(義城). 자는 공립(公立), 호는 만회헌(晩悔軒). 아버지는 호군(護軍) 김재인(金在仁)이며, 어머니는 남양홍씨로 홍종해(洪宗海)의 딸이다. 가학을 이어받았다.
1830년(순조 30) 정시문과에 을과로 급제, 2년 뒤 승문원정자에 임명되었고, 1834년 명릉별검(明陵別檢)에 제수되었다. 헌종이 즉위하자 2월에 성균관전적을 거쳐 예조좌랑에 임명되었고, 이 때 왕명을 받들어 칙사(勅使)를 영접하였다.
그 뒤 사간원정언·사헌부지평·홍문관수찬·장악원판사·현풍현감 등을 지냈다. 현풍현감에 재직하면서 아울러 창녕·청도·양산·영산의 4군을 다스릴 때, 밀양포(密陽浦)에 수송해 온 세미(稅米)를 둘러싸고 밀양의 관리들이 농간을 부리자 이 사실을 조정에 보고, 민생의 안정을 도모하여 주민들이 송덕비를 세웠다.
1847년(헌종 13) 다시 지평에 제수되었고, 홍문관응교·김해부사·승정원우부승지 등을 차례로 역임하였다. 한때 경연에서 임금에게 정치의 요체와 중농정책·교육의 진흥 등에 관해 상주하기도 하였다. 저서로는 『만회헌문집(晩悔軒文集)』이 있다.