본관은 전주(全州). 초명은 이상악(李商岳). 자는 교백(喬伯), 호는 창계(蒼溪). 세종의 아들인 광평대군 이여(廣平大君 李璵)의 후손이며, 이유(李濡)의 증손으로, 할아버지는 이현숭(李顯崇)이다. 아버지는 대사간 이존중(李存中)이며, 어머니는 홍중복(洪重福)의 딸이다.
성품이 강직해 언행에 다소 과격한 면이 있었다 한다. 1766년(영조 42) 정시 문과에 병과로 급제해 정언·세자시강원사서(世子侍講院司書)·문학·홍문관수찬·응교 등 청요직(淸要職: 학식과 문벌이 높은 인물에게 주던 중요한 관직)을 두루 거쳤다.
정조가 즉위하면서 성균관대사성에 발탁되었고, 승지를 거쳐 1779년(정조 3) 부제학이 되었다. 이듬해 홍국영(洪國榮)의 사주를 받은 대사헌 이보행(李普行)이 영의정 서명선(徐命善)·서명응(徐命膺) 형제를 탄핵할 때 여기에 동조하는 소를 올려 부제학에서 파직되었다.
그 뒤 다시 기용되어 강계부사 등 지방관을 거쳐 여러 차례 부제학을 역임하였다. 1795년 대사헌 때 천주교인의 처벌을 강경하게 고수했으며, 대사간 최헌중(崔獻重)이 천주학 배척에 가탁(假托)해서 왕을 비방한다며 처벌을 주장하다가 도리어 편당(偏黨)으로 몰려 단천으로 귀양갔다.
몇 년 뒤 귀양에서 풀려나 호조참판·형조판서·함경도관찰사 등을 두루 역임하고 우참찬에 이르렀다. 1805년(순조 5) 우참찬 때 사포서(司圃署) 일로 좌의정 서매수(徐邁修)를 심한 말로 탄핵했다 하여 순안으로 유배되기도 하였다. 이듬해 다시 귀양에서 풀려나 광주유수를 지냈다.
1807년 7년 전 함경감사 때 귀양간 사람을 임의로 죽였다는 정언 서준보(徐俊輔)의 상소로 죄가 소급 적용되어 유수에서 파직되었다. 정조조에 청백리(淸白吏)에 들었다.