본관은 광산(光山). 자는 청우(淸友). 아버지는 김증현(金曾鉉)이며, 김주현(金周鉉)에게 입양되었다.
경기도관찰사를 지낸 김명진(金明鎭)과 같이 1870년(고종 7) 경과정시별시문과에 병과로 급제하였다.
1872년 홍문관부수찬으로 관직에 올라 1876년에 우부승지가 되고, 이듬해 12월에 대사성이 되었다. 1885년에는 이조참판에 올랐으며 그 해 4월에는 대사간이 되었다. 1889년 다시 대사성이 되었다가 1891년에는 대사헌이 되었다.
1896년에는 궁내부특진관이 되고, 이듬해에는 비서원경(秘書院卿)에 올랐으며 그 해 10월에는 장례원경(掌禮院卿)이 되었다. 1898년에는 홍문관학사를 겸임하고, 그 해 11월에는 궁내부특진관에 올랐으며 홍릉제조(洪陵提調)에 임명되기도 하였다.
1899년에는 전주 오목대비문(梧木臺碑文) 서사관(書寫官), 인조대왕옥책문(仁祖大王玉冊文)의 악장문제술관(樂章文製述官)이 되었다. 1900년부터 2년 동안은 산릉도감제조(山陵都監提調) 및 천릉도감제조(遷陵都監提調)를 지냈으며, 1902년 9월에는 칙임관 2등에 올랐다.