본관은 양주(楊州). 어려서부터 총명하였고 의종(毅宗) 때 등제(登第)하였다. 합문지후(閤門祗候)로 있을 때 정중부(鄭仲夫)의 난이 있었으나 평소에 쌓은 덕으로 화를 면하였다. 1178년(명종 8) 어사중승(御史中丞)으로 법을 위반한 정중부의 가노(家奴)를 치죄하다가 정중부의 노여움을 사서 파직되었다.
그러나 이듬해 위위경(衛尉卿)·우간의대부(右諫議大夫)에 제수되었다. 서북면병마사(西北面兵馬使)로 있을 때 의주(義州)에 문무 2인의 분도관(分道官)이 있어 주인(州人)들의 피해가 큰 점을 들어 문관으로 의주 분도관을 삼아 영주(靈州)·위원진(威遠鎭)을 예속시키고, 무관으로 정주(靜州) 분도관을 삼아 인주(麟州)·용주(龍州)를 예속시킬 것을 건의하였다. 그러나 무신들의 권력을 빼앗는 것이라는 반발을 받아 결국 1181년에 거제현령(巨濟縣令)으로 좌천되었다.
얼마 뒤 다시 간의대부(諫議大夫)가 되었으나, 무신에게 재앙이 미칠 것이라는 술사(術士)의 말을 믿은 무신들이 그 재앙을 문신에게 옮긴다는 책략에 따라 발생한 무고사건(誣告事件)에 연루되어 1184년에 섬으로 유배되었다. 명종(明宗)이 죄 없음을 알고 등용하려 하였으나 조정의 논의가 일치하지 못하여 좌절되었다. 1187년 판예빈성사(判禮賓省事)로 치사(致仕)한 뒤 수년 후 67세로 죽었다.