조선 후기의 문신. 자는 기천(祈天). 호는 사어(四於). 염(○○)의 후손으로, 광은(光殷)의 아들이다. 1757년(영조 33) 정시문과에 을과로 급제, 출사하여 1762년에 지평이 되고, 1763년에 호서감운어사(湖西監運御史)로 나가 조운(漕運)의 실태를 살폈다. 이어 정언이 되었을 때 일시 귀양간 일이 있고, 그뒤 김천도찰방(金泉道察訪)으로 나갔다. 1766년 부교리 재임중 협잡한 죄로 삭직되었으나 혐의가 없어 다시 복직되었고, 2년 뒤에 수찬이 되었고, 1772년에는 대사간에 올랐다. 정조가 즉위하자 승지로서 고부 겸 청시승습부사(告訃兼請諡承襲副使)가 되어 청나라로 건너가는 도중에 열하(熱河)에서 관향은(管餉銀) 1, 000냥을 분실한 사건으로 일행과 함께 파직되었으나 곧 다시 등용되어, 1777년(정조 1) 대사헌이 되었다. 이때 조정을 청신하게 할 것, 재정을 절약할 것, 기강을 확립할 것, 언로를 열어놓을 것, 현관의 대우를 개선할 것, 인재를 양성할 것 등의 내용을 상소하여 정조에게 청납되고 녹비를 하사받았다. 그뒤 방백으로 함경감사가 되어 재해지의 전결(田結)을 임의로 분배한 사건 때문에 일시 파면되었다가, 다시 경상도관찰사에 임명되었다. 경상도관찰사로 있을 때인 1785년 선조인 정렴, 정작(鄭○) 등의 유문을 보유하여 간행, 그들의 행적과 도가적 분위기를 전하였다. 1790년 선혜청제조로 있을 때 양전의 필요성을 상소하여 부분적인 시행을 보았으며, 사직을 거쳐 예조판서로 승진하였다가 일시 사퇴한 뒤 다시 판중추부사에 이르렀다. 1782년 '송도지 松都誌'와 '송도잡기 松都雜記'의 두 책을 합편, 증보하였고, 특히 왕명으로 1784년 '동문휘고 同文彙考'를 찬집하였으며, 다음해 '십구사략통고 十九史略通攷'를 편집하는 등 학자, 문장가로서 인정받았다. 1806년(순조 6) 우의정 김달순(金達淳)이 사사되고 김한록(金漢祿) 등에게 역률(逆律)이 추시될 때 이에 연좌되었다.