본관은 밀양(密陽). 무과에 급제하였으며 중시(重試)에 다시 급제하여 선전관이 되었다. 1583년(선조 16) 북쪽 오랑캐 니탕개(尼湯介)를 칠 때 공을 세워 절충장군(折衝將軍)에 승진하였고, 비변사(備邊司)의 천거로 부령부사(富寧府使)가 되고 이어서 길주·온성 부사를 지냈다.
임진왜란 때는 춘천부방어사(春川府防禦使)로서 적의 북진을 막아 여러 차례 공을 세웠다. 세자 광해군이 함경도에서 군사와 백성들을 위무할 때 호위대장으로 광해군을 호위하였으며, 그 뒤 분조(分朝: 유사시 왕권의 시행을 효율적으로 수행하기 위하여 둘로 나눈 조정)의 동부승지·병조참의로 임명되었다.
1593년에는 진주목사로서 부산에 주둔해 있던 왜군의 북상기도를 저지하는 책임을 훌륭히 수행하였다. 그러나 관찰사와의 의견충돌로 이듬해 파직되었고, 한때는 도원수의 휘하에서 응양도별장(鷹揚都別將)을 지냈다.
특히 해안경계에 많은 공을 세워 이순신(李舜臣)이 장계를 올려 주사조방장(舟師助防將)으로 삼았다. 이후 한산(閑山)·장문(場門)·영등포(永登浦)·견내량(見乃梁) 등의 해전에서도 많은 공을 세웠다. 뒤에 상주목사·광주목사를 거쳐 회령부사에 전임되었다가 대사헌 홍여순(洪汝諄)의 탄핵을 받아 면직되었다.