본관은 안동(安東). 자는 제대(濟大). 호는 효효재(嘐嘐齋). 서울 출신. 아버지는 주부(主簿) 김창즙(金昌緝)이고, 영의정 김수항(金壽恒)의 손자이다. 족형(族兄) 김시보(金時保)에게서 수학하였다.
신임사화에 의해 백부 김창집(金昌集)이 사사될 때 전주로 유배되었다가 4년 만에 풀려났다. 그 뒤 이재(李縡)·박필주(朴弼周)와 더불어 경서와 예설을 강론하였다. 1745년(영조 21)에 경행(經行)으로 만녕전참봉(萬寧殿參奉)에 제수되고, 이듬 해 공릉참봉(恭陵參奉)에 제수되었으나 모두 나아가지 아니하였다.
1748년에 선공감감역(繕工監監役)에 제수된 이후 여러 벼슬을 거쳐, 1778년 특례로 우승지에 임명된 후 소대(召對: 왕명으로 임금과 대면하여 정사에 대한 의견을 상주하는 일)에 자주 나아가서 군신간의 정의가 두터웠는데, 경사백가(經史百家)로부터 국조헌장(國朝憲章)에 이르기까지 두루 토론하였다.
권신 홍국영(洪國榮)의 뒷받침으로 추천된 송덕상(宋德相)의 사람됨에 대한 왕의 물음을 받고, 그의 부적함을 진언하기도 하였다. 1784년에 동지돈녕부사(同知敦寧府事)에 오르고, 1786년에 공조판서가 되었다.
학문과 전교(典敎)에 깊어 사류로부터 인망이 높았으며, 「여씨향약」 4조로 백성을 교화하고, 사마광(司馬光)의 10과를 사람을 쓰는 방도로 할 것을 청하였다.