본관은 풍양(豊壤). 자는 사수(士受). 조기수(趙祺壽)의 증손으로, 할아버지는 조원명(趙遠命)이고, 아버지는 교리 조재덕(趙載德)이며, 어머니는 송성명(宋成明)의 딸이다.
1753년(영조 29) 사마시에 합격하여 1761년 명릉참봉(明陵參奉)이 된 뒤, 호조정랑으로 재임중 1777년(정조 1) 증광문과에 을과로 급제하여 예조정랑이 되었으며, 『영조실록』의 편찬에 참여하였다.
1779년 홍문록(弘文錄)·도당록(都堂錄)에 올랐으며, 이듬해 진하 겸 사은사(進賀兼謝恩使)의 서장관에 임명된 한광근(韓光近)이 중병에 걸려 대신 청나라에 다녀와 견문사(見聞事)를 왕에게 바쳤다.
1781년 검토관(檢討官)·동부승지를 역임하고, 이듬해 대사간·이조참의에 이어 대사성이 된 뒤, 1786년 강화유수로 나갈 때까지 5년 동안 대사성·대사간·이조참의를 번갈아 역임하였다. 1787년 이조참판·대사헌을 거쳐 형조판서에 올랐으며, 1791년 호조판서·선혜청당상(宣惠廳堂上)을 역임하였다.