1752년(영조 28)에 사학유생(四學儒生)의 소두(疏頭)로서 송시열(宋時烈)과 송준길(宋浚吉)을 문묘에 종향하자는 상서문(上書文)을 올렸으나, 대리청정을 하고 있던 사도세자가 허락하지 않았다.
1773년(영조 49) 증광 문과에 병과로 급제하였고, 1781년(정조 5)에 김천찰방을 역임하였다. 1784년(정조 8) 서형수(徐瀅修) 등과 함께 홍문록(弘文錄)에 뽑혔다. 이때 사간 이복휘(李福徽)가 역적 송덕상(宋德相)의 제자라고 논척하였으나 우의정 김익(金熤)의 비호로 무사하였다. 관직은 장령 · 교리 · 승지 · 강릉현감을 거쳐 병조참의에 이르렀다.
1791년(정조 15) 병조참의 재직 시 병조 당상으로 입직하다가 허락을 기다리지 않고 멋대로 먼저 나간 일로 서천군에 정배되었다가 1792년(정조 16)에 석방되었다. 같은 해 종성부사에 임명되었지만 병을 이유로 부임하지 않아 고신(告身)이 추탈되고 종성부에 3년간 정배에 처해졌다가 1793년(정조 17)에 방면되고 탕척 서용(敍用)되었다.