본관은 청주(淸州). 자는 이선(而善). 경습(慶習)의 증손으로, 할아버지는 경지(慶智), 아버지는 경유선(慶由善), 어머니는 홍복방(洪福邦)의 딸이다.
음직으로 동반(東班) 종8품 승사랑(承仕郎)에 올랐다가, 1466년(세조 12) 강원도에서 실시한 문과별시에 아원(亞元: 2등)으로 급제, 승정원주서에 제수되었다.
이듬해 왕명으로 홍문관의 서적 보관 상태를 점검했고, 이어 태평관에 나아가 체류중인 유구국(琉球國) 사신을 접대했다. 1469년(예종 1) 공조좌랑으로 재직했는데, 당시 숙직 근무 중 은기(銀器)를 도난당하는 일이 발생했고, 이로 인해 의금부의 탄핵을 받기도 했다.
성종이 즉위하자 예조의 가낭청(假郎廳)으로 부묘제사(祔廟諸事)를 성심껏 봉행해 1등급 가자(加資)되었다. 그 뒤 봉상시첨정(奉常寺僉正)을 거쳐 1476년(성종 7) 사헌부장령에 제수되어 관기 확립에 특히 힘썼다. 먼저 형조정랑 허찬(許譔)의 직무 부정을 탄핵, 처벌하였고, 이어 연소한 최영호(崔永灝)의 사재감정(司宰監正) 서용을 반대했다.
또한, 서거정(徐居正)의 부경사행(赴京使行)에 있어 사물을 마음대로 적재한 사실을 고발했으며, 총신으로 비행을 자행하던 현석규(玄碩圭) · 임사홍(任士洪)을 탄핵했다. 이어 사간원사간에 제수되었다. 이 때 양성지(梁誠之)가 대사헌에 제수되자, 이는 마치 짖지 못하는 개를 키움과 같다고 논박하며 불가함을 주장했다.
그 뒤 권력을 농단하며 살인을 자행한 창원군(昌原君) 이성(李晟)을 탄핵했고, 또한 당시 지방 행정관의 무능함을 지적, 수령의 포폄(褒貶)을 요청했다. 그밖에 공주들의 가옥이 너무 화려함을 논박했고, 강원도민의 자염(煮鹽) 폐단, 대신 김국광(金國光)의 탐오함 등을 탄핵했다.
1483년 충주목사에 제수되어, 3년 동안 재임하면서 형옥과 농정의 선정을 폈다. 그 공로가 인정되어 당상관에 올랐고, 다시 내직으로 옮겨 장례원판결사가 되었다. 1487년 우부승지, 1489년 좌부승지 등을 역임하고, 1489년 신병으로 중추원의 첨지중추부사(僉知中樞府事)로 체직되었다가 곧 죽었다. 성품이 현철하였고 강직했으며, 직무에 밝고 성실했다.