본관은 전주(全州). 초명은 상봉(商鳳). 자는 백상(伯祥), 호는 나은(懶隱). 광평대군 여(廣平大君璵)의 후손이며, 휘중(徽中)의 아들이다.
세자익위사익위(世子翊衛司翊衛)를 지내고, 1773년(영조 49)에 정시문과에 을과로 급제하여 도청(都廳)·부수찬·교리 등을 거쳐 1788년(정조 12) 10월 신천군수가 되었다. 1791년에 검토관 겸 경연관(檢討官兼經筵官)을 지내다가 그 이듬해 10월 좌승지가 되었다.
그리고 1799년 사간원대사간으로 많은 일을 하였으며, 1800년 4월 공조참판이 되었다. 그가 18세 되던 1750년 겨울에 처음으로 『주자어류(朱子語類)』와 『사서소주(四書小註)』를 보던 중 어려운 말들이 많아서 퇴계 문하의 『어록해(語錄解)』 등 여러 책을 참고로 하여 『증주어록해(增註語錄解)』를 편찬하였다.
그 뒤 다시 이 책의 내용을 수정, 증보하여 1789년 40권으로 된 『고금석림(古今釋林)』을 완성하였다. 이 책은 무려 1,400여 종류의 참고문헌을 통한 광범위한 고증을 거쳐 동양의 여러 언어와 문자에 관한 사서(辭書)로 만들어졌다는 점에서 그의 학자적 위치와 학문적 업적을 높이 평가할 수 있다.
저서로는『산천지(山川志)』·『나은예어(懶隱囈語)』·『고금석림』 등이 있다.