본관은 청풍(淸風). 자는 백강(伯剛), 호는 운계(雲溪). 아버지는 대사간 김치후(金致垕)이며, 어머니는 완산이씨(完山李氏)로 군수 이규수(李奎壽)의 딸이다.
1741년(영조 17) 사마시에 합격, 정릉참봉에 임명된 뒤 경산현령을 지냈다. 1757년에 문과에 을과로 급제, 정언·부교리·부수찬·교리를 지내고, 어버이 봉양을 위하여 의성현령이 되었으나 이듬 해 곧 사서(司書)로 옮겼으며, 어사(御史)로 나가 많은 민폐를 바로잡았다.
이어서 좌부승지·예조참판·도승지를 거쳐 의주부윤이 되고 이듬 해 청천군(淸川君)에 봉해졌다. 그 뒤에도 동지돈녕부사(同知敦寧府事)·대사헌·경기감사·병조참판·홍문관부제학·이조참판·강원감사·성균관대사성·형조판서·이조판서·예조판서 등 많은 요직을 역임하였다.
정조가 즉위한 뒤 홍국영(洪國榮)에게 몰려났다가 홍국영이 실각하자 1782년(정조 6) 청천군의 군호(君號)가 회복되고 이어 판돈녕부사(判敦寧府事)·한성판윤·판의금부사·형조판서·좌참찬 등을 지냈다. 증조 김간(金榦)의 가학을 이어 많은 저술을 남겼다.
저서로는 『운계집(雲溪集)』·『사례집요(四禮輯要)』·『문헌집략(文獻輯略)』·『시차(詩箚)』·『서차(書箚)』·『예차(禮箚)』·『중용기의(中庸記疑)』·『중용집설(中庸集說)』 1권, 『가범(家範)』·『낙민장보(洛閩狀譜)』 등이 있다. 시호는 청헌(淸獻)이다.