자는 자정(子靜), 호는 초려(草廬).
성품이 강개하며 출중하였다. 어려서 고아가 되었으나 학문에 힘써서 공민왕 때 과거에 급제하여 예문검열(藝文檢閱)이 되었다.
그 뒤 여러 청환직(淸宦職)을 거쳐, 서해도안렴사(西海道按廉使)와 문하사인을 지내고, 1390년(공양왕 2)에 좌우사의(左右司議)가 되었다. 그러나 곧 이초(彝初)의 옥이 일어나자, 그 중대함을 논하다가 이를 경솔히 누설하였다 하여 헌사(憲司)의 탄핵을 받아 파면되었다.
이듬해 다시 기용되어 우산기상시가 되었다가 이어 좌상시로 옮겼다. 우상시 이확(李擴) 등과 함께 소를 올려 조준(趙浚)·정도전(鄭道傳)·남은(南誾)·윤소종(尹紹宗)·남재(南在)·조박(趙璞) 등이 변란을 꾸며 민심이 흉흉하다고 탄핵하여 유배시켰다.
이 때 이성계(李成桂)가 해주에서 낙마하여 병이 위독하게 되자 당시 간관으로, 정몽주(鄭夢周)의 지시를 받아 이성계의 일파인 조준과 정도전 등을 탄핵하여 살해한 뒤 이어 이성계를 제거하려고 하였다.
그러나 정몽주가 피살됨에 따라 실패로 돌아갔다. 국문을 받자 정몽주 외에 우현보(禹玄寶)·이색(李穡) 등이 지시했음을 실토했다. 이에 장 1백을 맞고 먼 지방으로 유배되었다가 그곳에서 죽었다.