가계와 출신지는 자세하지 않다. 충목왕∼공민왕 때 정치도감관(整治都監官)·판서운관사(判書雲觀事)·판사천감사(判司天監事)를 역임하였다. 1347년(충목왕 3) 6월 정치도감(整治都監)의 관리로 개혁정치에 참여할 때 저항세력의 반발로 정동행성(征東行省)의 이문소(理問所)에 의해 도리어 옥에 갇혔다가 풀려났다. 1356년(공민왕 5) 6월 국왕의 명령으로 남경(南京: 경기도 양주)의 지세를 살펴보았다. 1358년 9월 유숙(柳淑)·우필흥(于必興)과 함께 국왕의 명령을 받아 도읍지로서의 수안(遂安: 황해북도 수안군)·곡주(谷州: 황해북도 곡산군)지역의 지세를 답사하였다. 1359년 6월 김득배(金得培)·김원봉(金元鳳) 등과 함께 기철(奇轍)일파를 숙청한 공적을 인정받아 주기철이등공신(誅奇轍二等功臣)으로 책봉되고 토지 등을 지급받았다. 1369년 8월 태백성(太白星)의 이상 현상을 국왕에게 아뢰어 공민왕의 삼소(三蘇: 평양·금강산·충주지역) 순행계획을 정지시켰다. 1370년 3월에는 염흥방(廉興邦)과 함께 국왕의 명령으로 의릉(毅陵: 충숙왕릉)의 새로운 터를 물색하였으나, 찾지 못하였다.