본관은 광산(光山). 자는 혜길(惠吉). 한성부판윤과 형조판서·공조판서를 지낸 김구현(金九鉉)의 아들이다.
1880년(고종 17) 경과증광별시문과에 병과로 급제하였다. 1886년에 홍문관박사가 되었고, 이듬해 시강원필선(侍講院弼善)을 거쳐 그 해 9월에는 이조정랑이 되었다. 1888년에는 성균관대사성이 되고 1891년에는 이조참의가 되었다.
1893년 지도(智島)에 위리안치(圍籬安置)되는 형을 받았다가 이듬해 풀려났다. 1899년에는 중추원의관(中樞院議官)에 임명되고 칙임관 4등에 올랐으며, 규장각직학사(奎章閣直學士)·비서원승(秘書院丞)을 거쳐 이듬해에 경효전제조(景孝殿提調)가 되었다. 1901년에는 장례원소경(掌禮院小卿)·봉상사제조(奉常司提調)에 임명되었다. 그 해 11월에는 다시 봉상사제조(奉常司提調)에 임명되었다. 1899년부터 1902년에 이르기까지 궁내부특진관을 지냈다.