1385년(우왕 11) 진사로서 생원시에 장원으로 급제하여 출사하고, 1389년(공양왕 1)에 예문춘추관검열(藝文春秋館檢閱)을 역임하였다.
1396년(태조 5) 봉상시박사(奉常寺博士)로 재직 중 판한성부사(判漢城府事)로서 졸한 ‘정희계(鄭熙啓)의 시호를 잘못 의정(議定)하였다.’하여 논죄되면서 파직되고 김해에 유배되었다. 1397년 사면되고, 1402년 이전에 대간에 복직되었다.
이후 사헌부장령(司憲府掌令), 의정부검상(議政府檢詳)을 거쳐 1409년(태종 9)에 사헌부집의(司憲府執義)에 제수되고, 1421년(세종 3)경 당상관에 오르면서 사간원우사간대부(司諫院右司諫大夫)에 발탁되었다. 1427년에 종2품계에 오르면서 한성부윤(漢城府尹)에 승직하였다.
이후 1432년까지 함길도관찰사(咸吉道觀察使)·개성부유후(開城府留後)·삼군부중군총제(三軍府中軍摠制)를 역임하였다. 1433년경 판황주목사(判黃州牧使)에 파견되고, 이어 판공주목사(判公州牧使)를 역임하고 졸하였다. 간활한 성격과 지방관 재임시 탐학(貪虐)과 음행(淫行)으로 많은 비난을 받았다.