본관은 광산(光山). 자는 위사(渭師), 호는 경대(經臺) · 노헌(魯軒). 김장생(金長生)의 9대손이며, 김상악(金相岳)의 증손으로, 할아버지는 김기진(金箕晉)이고, 아버지는 김재곤(金在崑)이며, 어머니는 유경주(兪擎柱)의 딸이다. 정약용(丁若鏞) · 홍석주(洪奭周) · 김매순(金邁淳)의 문인이다.
1827년 진사가 주1 1859년(철종 10) 군수로서 증광 문과에 갑과로 주2, 1860년 대사간을 지냈다. 고종 때에 들어서도 1864년(고종 1) 대사간을 거쳐 이조참의 · 승지 · 대사성 · 이조참판 · 예문제학 · 홍문제학 · 도총관 · 공조판서 · 예조판서 · 경기도관찰사 · 평안도관찰사 · 대사헌 등의 중요직을 역임하였다.
1882년 시강원우부빈객(侍講院右副賓客)과 우참찬 · 좌참찬 · 판돈녕부사 등을 지냈으며, 1885년고종에게 세 차례나 치사(致仕)하기를 청하여 봉조하(奉朝賀)가 주3. 그 뒤 제술관 등을 지내고, 1887년에는 소과의 시관(試官)을 맡아보았다. 문장에 능하여 왕실에서 필요한 전문(箋文) · 죽책문(竹冊文: 대나무 간책에 새기는 옥책문) · 옥책문(玉冊文: 제왕 · 후비 등의 호를 올릴 때 쓰는 德을 읊은 글) · 행장 · 악장문(樂章文) 등을 저술하였다. 시호는 주4. 문집으로 『경대집(經臺集)』이 있다.