본관은 남양(南陽). 1455년(단종 3) 금성대군의 고신을 거둘 때 같이 고신을 거두고 먼 변방에 충군(充軍)되었다. 세조가 즉위하자 관노(官奴)에 정속되었다. 1463년(세조 9) 갑산에 영속되었다가 석방되었으나 양계에 부방(赴防)하도록하여 스스로 속죄하도록 하였다.
1470년(성종 1) 내금위장(內禁衛將)에 임명되었고, 이듬해 경기도포도장(京畿捕盜將)이 되어 도적을 잡는 데 활약하였다. 1472년 가선대부(嘉善大夫) 온성부사(穩城府使)가 되었으나 1475년 비첩을 데리고 임지에 가서 관가의 재정을 낭비하는 등 법없이 방자함에 따라 추국당하였다.
이듬해 정조사(正朝使)가 되었으나 무인이라하여 체직되었다. 그러나 곧 동지중추부사(同知中樞府事)로서 정조부사(正朝副使)가 되어 표문(表文)을 받들고 북경에 갔다가 이듬해 2월에 돌아와 가선대부(嘉善大夫) 행경상우도수군절도사(行慶尙右道水軍節度使)가 되었다.
1478년 경상우도수군절도사로서 진주의 기생에게 관물을 많이 주고 집을 지어주었다하여 파직되어 이듬해 진위(振威)에 유배되었다가 곧 서울로 올라왔으며, 서정(西征)에서 정병 100여 기를 거느리고 적의 소굴에 들어가 큰 공을 세워 11월에 방면(放免)되었다.
12월에 평안도 유방장(留防將)이 되어 고신(告身: 관직 임명사령장)을 되돌려 받았다. 1480년 서정한 공으로 3품계를 올려 받아 가선대부 동지중추부사가 되었으며, 주문사(奏文使)를 호송하는 일로 요동에 갔다왔다. 1483년 가선대부 공조참판(工曹參判)이 되었으나 합당하지 않다는 이유로 탄핵을 받았다.
이듬해 가정대부(嘉靖大夫) 겸 북청부사(北靑府使)을 거쳐, 1486년 영안남도절도사(永安南道節度使), 동지중추부사가 되었다. 1488년 특진관(特進官)으로 내금위에 새로 소속된 사람을 학대하는 일이 있으므로 검거하도록 아뢰었다.