본관은 순흥(順興). 자는 대훈(大勳). 정여립(鄭汝立)의 5촌 조카이다.
1589년(선조 22) 기축옥사 때 평안도에 유배되었다가, 1592년 임진왜란이 일어나자 풀려났다. 무과에 급제하고 찰방이 되었으며, 이듬해 이항복(李恒福)의 천거로 거제현령이 되었다.
1594년 제2차 당항포해전 때 이순신(李舜臣)의 휘하에서 전부장(前部將)으로 공을 세웠으며, 1597년 1월 부산의 왜군 화약고에 불을 질러 이를 폭파시켰다. 정유재란이 일어나자 통제사 이순신의 지휘 하에 김억추(金億秋)와 함께 벽파정(碧波亭) 앞 바다에서 왜선 20여 척을 격파하여, 선조로부터 『무경칠서(武經七書)』를 상으로 받았다.
이듬해 전라우수사가 되고 1601년 전라도병마절도사가 되었으나, 역적 정여립의 조카라는 이유로 대간의 탄핵을 받아 파직당하였다. 1603년 공신도감에서 임진왜란 때의 전공자로서 선무공신(宣武功臣)을 뽑을 때 20명 가운데 들었다. 그 해 전라좌수사가 되었는데, 방군징포(放軍徵布: 군역을 면해주는 대가로 포를 받음)했다는 이유로 대간의 탄핵을 받고 다시 파직당하였다.
1605년 충청수사로 재기용되고 이듬해 경상좌수사, 1612년(광해군 4) 포도가대장(捕盜假大將: 임시 포도대장)이 되었다. 이듬해 사직하고 향리로 돌아와 있던 중 동향인 진사 조덕홍(趙德弘)·조응직(趙應𡸜) 등의 역모를 고했다가, 무고임이 드러나 반좌(反坐: 무고로 입힌 죄만큼 죄가 부여됨)되어 관직을 삭탈당하였다.
곧 재기용되어 평안도 강변별장이 되고 1619년 평안도방어사, 1624년(인조 2) 행사용(行司勇) 등을 역임하였다. 1636년 병자호란이 일어나자 74세의 노령에도 불구하고 왕을 호종하기 위해 상경하다 화의가 성립되었다는 소식을 듣고 도중에 돌아왔다. 김제의 학당사(學堂祠)에 제향되었다.