1365년(공민왕 14) 국자감시(國子監試)에 합격하고 산원(散員) · 낭장(郎將) 겸 사헌규정(司憲糾正)을 거친 뒤 1376년(우왕 2) 의영고 부사(義盈庫副使)로서 지공거(知貢擧) 홍중선(洪仲宣)과 동지공거(同知貢擧) 한수(韓脩)가 주관한 과거 시험에 정총(鄭摠) · 양수생(楊首生) · 성석용(成石瑢) · 류백순(柳佰淳) · 강회백(姜淮伯) · 이종학(李種學) 등과 함께 선발되었다. 이후 전리좌랑(典理佐郎) · 전법좌랑(典法佐郎) · 사헌지평(司憲持平) · 예의정랑(禮儀正郎)을 역임했다. 1382년(우왕 8)에는 경상도 안렴사(按廉使)로 있으면서, 합주(陜州: 현 경상남도 합천)에서 사노(私奴)들이 검대장군(劍大將軍) · 초군장군(抄軍將軍) · 산군장군(散軍將軍) 등을 칭하며 일으킨 난을 진압하였다.
삼사좌사(三司左使) · 판통례문사(判通禮門事) · 진현관 제학 · 판전교시사(判典校寺事) 지제교(知制敎) · 예의판서(禮儀判書)를 거쳐 전법 판서(典法判書)가 되었고, 1390년(공양왕 2) 정몽주(鄭夢周)가 윤이(尹彛) · 이초(李初)의 옥사(獄事)에 연루된 사람들을 두둔했다고 해 탄핵했다가 오히려 자신이 좌천되었다.
이듬해에 예문관(藝文館) 제학(提學)이 되고, 1392년(공양왕 4) 좌부대언(左副代言)을 거쳐 좌대언(左代言)에 올랐다. 그 해에 이성계(李成桂)가 왕위에 오르는 조선 건국에 참여하여 중추원(中樞院) 도승지(都承旨)가 되고 개국공신이 책봉될 때 3등 공신이 되었다. 1393년(태조 2)에는 사헌부(司憲府) 대사헌(大司憲) 겸 도평의사사(都評議使司) 보문각(寶文閣) 학사(學士)에 올랐고, 같은 해에 전라도관찰출척사(全羅道觀察黜陟使)로 나아갔으며 이듬해에 흥녕군(興寧君)으로 봉해졌다.
1406년(태종 6) 판공안부사(判恭安府事)에 임명되었다가 곧 판한성부사(判漢城府事)로 옮겼으며, 1410년(태종 10)에는 판개성부사(判開城府事)가 되었다. 그 이듬해 정탁(鄭擢) · 유창(劉敞) · 조견(趙狷) · 한상경(韓尙敬) · 조온(趙溫) 등의 개국공신들과 더불어 1398년(태조 7)의 ‘왕자의 난’ 때 주살된 정도전(鄭道傳)과 남은(南誾)의 죄를 감해 주도록 요청했다가 대간(臺諫)의 탄핵을 받았다. 1416년(태종 16) 보국숭록대부(輔國崇祿大夫), 집현전(集賢殿) 대제학(大提學)에 특별 임명되고 흥녕부원군(興寧府院君)으로 봉작되었다. 고려, 조선조의 전환기에 신왕조 개창에 부응했던 인물 중의 한 사람이라 할 수 있다. 서울특별시 금천구 시흥동 순흥안씨 양도공파 묘역(서울특별시 유형문화유산)에 묘소가 있다.
시호는 양도(良度)이다.