본관은 해주(海州). 자는 자고(子固). 고려 우왕 때 문과에 급제하고, 1392년(공양왕 4) 예조총랑(禮曹摠郎)이 되었으나 정몽주(鄭夢周)의 일당으로 몰려 직첩을 빼앗기고 곤장 70도를 맞은 뒤에 원지로 유배되었다가 조선이 개국되자 곧 풀려 났다.
1402년(태종 2) 서북면경차관(西北面敬差官)과 예빈시윤(禮賓寺尹)을 지내고, 1404년 지형조사(知刑曹事)로 있을 때 사건을 잘못 판결한 죄로 다시 울주에 유배되었으나 곧 풀려났다.
1406년 의용순금사대호군(義勇巡禁司大護軍)으로 있으면서 유좌(柳佐) 등의 노비치사사건을 처결할 때, 그가 동년(同年)인 유량(柳亮)의 아들이므로 이것을 기피하기 위하여 처의 병을 핑계삼아 안문(按問)을 게을리한 혐의를 받아 개령현(開寧縣)에 유배되었으나 곧 풀려나서 순금사에 복직되었다.
1413년 순금계획(巡禁計劃)을 상소하여 왕의 윤허를 얻어 시행한 일이 있고, 1418년 세종이 즉위하자 좌사간대부가 되었다가 이듬해 판안동대도호부사(判安東大都護府事)가 되었다. 1421년(세종 3) 이조참의에 승진되고 이듬해에 한성부윤이 되었다.