본관은 해평(海平). 자는 윤경(潤卿). 윤채(尹埰)의 증손으로, 할아버지는 윤세겸(尹世謙)이다. 아버지는 윤옥(尹沃)이며, 어머니는 이보명(李普溟)의 딸이다. 부인은 송창명(宋昌明)의 딸이다.
1751년(영조 27) 왕의 환후 회복과 왕세손의 책봉 등을 경축하기 위해 시행되었던 정시문과에 장원급제하고 홍문록에 올랐다. 다음해부터 세자시강원사서·사헌부지평·사간원정언 등의 요직을 역임하고, 1754년에는 홍문관부교리에 임명되었다.
다음해 함경도암행어사로 나가 북청부사 윤붕거(尹鵬擧)와 문천군수 성헌조(成憲祖)의 비리를 적발하여 파직시켰다. 이 해 유생들의 상소에 연명하였다가 탄핵을 받고 파직되었다. 다시 서용되어 사간원헌납·홍문관교리를 거쳐 1757년(영조 33) 당상관인 승지로 발탁되었다.
친구인 윤동승으로부터 이름이 역적의 초사에서 언급되었다고 탄핵을 받아 파직되었다가, 1761년 지방관으로 서용되었다. 다음해 동래부사에 임명되었으나 비판을 받고 승지로 옮겼다. 일찍이 신치운(申致雲)의 문하에서 수학하였는데, 스승이 김일경(金一鏡) 일파로 지목되어 처벌되었기 때문에 두고두고 공격을 받았다.
1763년 광주부윤에 임명되어 「유민도(流民圖)」와 서장대의 지형을 그려 올렸다. 1766년 병조참판에 임명되었고 도승지에 임명되어 여러 해 왕의 측근에 있었다. 1772년에는 대사간이 되었다.