본관은 진주(晉州, 晉陽). 사위는 병부상서(兵部尙書)·판청주목사(判淸州牧使)를 지낸 진양하씨(晉陽河氏) 하자종(河自宗)이다.
공민왕∼공양왕 때 원외랑(員外郞)·정랑(正郞)·간의대부(諫議大夫)·좌상시(左常侍)·이조판서(吏曹判書)를 역임하였다. 1366년(공민왕 15) 정우(鄭寓)의 딸이 왕의(王義)·안극인(安克仁)의 딸과 함께 공민왕의 새 왕비 후보로 선발되었다. 원외랑을 역임하던 때에 민사평(閔思平)·이색(李穡)과 시를 교류하여 뛰어난 문필을 자랑하였다.
1375년(우왕 원년) 11월 왜구토벌의 공을 세운 조민수(曺敏修)의 편지에 대해 회답 교서를 작성하라는 우왕의 지시를 김자수(金子粹)가 거부하여 유배당하자 이 사건에 연루되었다. 이로 말미암아 경상도 죽림수(竹林戍: 경상남도 통영시 광도면 죽림리)로 유배되었다. 공양왕 때에는 정몽주(鄭夢周)와 함께 윤이(尹彛)·이초(李初)의 옥사를 논의하지 않았다고 하여 파직되었다. 1392년 4월 정몽주가 살해되고 조선 태조 이성계(李成桂)가 즉위하자 정몽주세력으로 지목되어 유배되었다. 1397년(태조 6) 10월에는 전임 품관(品官)으로 기한에 맞추어 한양에 오지 못한 죄목으로 순군옥(巡軍獄)에 갇혔다가 같은 해 11월에 풀려났다.