본관은 청풍(淸風). 자는 공서(公緖), 호는 석거(石居). 김도징(金道徵)의 증손으로, 할아버지는 김성구(金聖球)이고, 아버지는 김주묵(金周默)이며, 어머니는 이제현(李躋賢)의 딸이다. 김용묵(金用默)에게 입양되었다.
1835년(헌종 1)에 증광 문과에 병과로 급제하였으며, 1837년 홍문록(弘文錄)·도당록(都堂錄)에 이름이 올랐다. 1842년에 경상우도 암행어사로 다녀와서 하동부사 이남원(李南轅), 금산군수 장조남(張照南), 남해현령 김증(金增), 성주목사 신재순(申在淳), 전우병사 조원석(趙元錫) 등의 죄상을 보고하고 처벌을 건의하였다.
그 뒤 집의를 거쳐 1852년 (철종 3)에 대사간이 되었으며, 1859년에는 이조참의를 지내고 이어서 참판을 지냈다. 저서로는 『석거집(石居集)』이 있다.