본관은 평산(平山). 자는 동보(同甫), 호는 우헌(愚軒). 신철(申轍)의 증손으로, 할아버지는 신치원(申致遠)이고, 아버지는 필선 신수(申忄+遂)이며, 어머니는 어사경(魚史經)의 딸이다.
1752년(영조 28) 정시문과에 병과로 급제, 1754년(영조 30) 검열을 거쳐, 1757년(영조 33) 장령(掌令)이 되었다. 다음 해 ‘학문을 권장할 것, 정사에 힘쓸 것, 언로를 개방할 것, 임금에게 버림받은 자들을 다시 부를 것’ 등의 시무책을 올렸다가 영조의 노여움을 사서 경상도 기장현(機張縣)으로 유배당하였다.
1760년(영조 36)에 풀려나 1763년(영조 39) 장령, 다음 해 헌납(獻納), 1766년(영조 42)에 사간이 되었다. 1769년(영조 45)에 사간으로 있으면서 임금은 만기(萬機: 정치사의 모든 기본과제)를 두루 살펴야 한다는 소를 올려 영조로부터 칭찬을 받았다.
그 뒤 집의(執義)·사간·부수찬을 지냈다. 집의로 있을 때 세손의 청정(聽政)을 반대하는 상소를 올렸다가 파직되었으나, 곧 복직되어 사간·부호군·경기수사 등을 역임하였다.
1777년(정조 1) 함경도지방에 크게 흉년이 들자 북관감진어사(北關監賑御史)로 임명되어 10개읍의 전세(田稅)를 탕감해주고 굶주린 백성 20여만명을 구휼하였다. 이 공로로 예조참의에 승진되었다.
그 뒤 1778년(정조 2) 동부승지, 1781년(정조 5) 참찬관·승정원우승지·대사간을 차례로 역임하였고, 1791년(정조 15) 공조판서·대사헌을 끝으로 기로소에 들어갔다.