1377년(우왕 3) 16세로 문과에 급제해 경순부주부(慶順府注簿)에 제수되고, 그 뒤 사헌지평 · 성균사예 · 전교부령(典校副令) · 종부영(宗簿令) · 밀직사우부대언(密直司右副代言) 등을 거쳐 공양왕 때 예문제학을 지냈다. 1392년에 이성계(李成桂) 추대에 참여해 지신사(知申事)로서 개국공신 3등이 되고 성산군(星山君)에 봉해졌다. 이듬해 중추원도승지(中樞院都承旨) · 중추원학사(中樞院學士)로서 사은사(謝恩使)가 되어 명나라에 다녀왔다.
1397년(태조 6) 대사헌을 지내고, 1399년(정종 1) 중추원사(中樞院使)로서 서북면도순문찰리사(西北面都巡問察理使)를 겸임해 침입한 왜구를 격퇴하였다. 1400년 참찬문하부사(參贊門下府事)에 오르고, 이어 삼사좌사(三司左使) · 지의정부사(知議政府事)를 역임하였다. 이 해 제2차 왕자의 난 때 이방원(李芳遠: 뒤의 태종)을 도와 좌명공신(佐命功臣) 4등이 되고, 사은사로서 명나라에 다녀왔다.
1402년 대제학을 거쳐, 이듬해 판사평부사(判司評府事)로서 왕명을 받아 주자소(鑄字所)를 설치, 동활자인 계미자(癸未字)를 만들었다. 1405년 육조의 관제가 정해지자 처음으로 이조판서가 되었다. 1407년 동북면도순문찰리사 · 영흥부윤이 되고, 이어 찬성사로서 대사헌을 겸임하였다. 이듬해 이조판서로 판의용순금사사(判義勇巡禁司事)를 겸임하고, 1410년 천릉도감제조(遷陵都監提調)로서 덕릉(德陵) · 안릉(安陵) 등을 함흥으로 옮겼다.
1412년 성산부원군(星山府院君)으로 진봉되었고, 1414년 우의정에 제수되어 진하사(進賀使)로서 명나라에 다녀왔다. 이듬해 황희(黃喜)와 함께 충녕대군(忠寧大君: 뒤의 세종)의 세자책봉을 반대하다 성주에 안치되었다. 1422년(세종 4) 풀려 나와 1424년 영의정에 오르고, 이 해 등극사(登極使)로 명나라에 다녀왔다. 1426년 좌의정으로 전직했다가 이듬해 사직하였다. 성주의 안봉서원(安峰書院)에 제향되었고, 저서로는 『형재시집』이 남아 있다. 시호는 문경(文景)이다.