본관은 경주(慶州). 자는 형길(亨吉), 호는 사한(四寒). 할아버지는 참봉 김양준(金良浚)이고, 아버지는 운산군수(雲山郡守) 김은(金㶏)이며, 어머니는 상주김씨(尙州金氏)이다. 김근공(金謹恭)의 문인이다.
1595년(선조 28) 유일(遺逸: 과거를 거치지 않고 높은 관직에 임영될 수 있는 학식과 인품이 고매한 자)로 장원서별제(掌苑署別提)·의금부도사를 거쳐, 1601년 홍천현감(洪川縣監)·고산현감(高山縣監), 1604년 고창현감(高敞縣監)에 이어 금구현감(金溝縣監)·안악군수(安岳郡守)·합천군수 등의 외직과 군기시첨정(軍器寺僉正) 등을 두루 지냈다.
1613년(광해군 5) 영창대군(永昌大君) 이의(李㼁)를 서인(庶人)으로 할 때 정온(鄭蘊)과 함께 극력 반대하는 소를 올렸다. 1616년 해주목사 최기(崔沂)가 형장(刑杖)의 남용으로 인하여 체포되었는데, 그 때 공술(供述: 신문에 의한 진술)한 초고를 이귀와 함께 수정하였다는 대간의 탄핵을 받고 관직을 삭탈당하였다.
1623년 인조반정이 일어나자 다시 청도군수(淸道郡守)로 발탁되고, 1627년 정묘호란 때는 원주에 돌아가 80세의 늙은 몸인데도 의병장에 추대되기도 하였으며, 난이 끝나자 장작감첨정(將作監僉正)에 임명되었다. 1630년 노인직으로 동지중추부사에 올랐다.
어려서부터 열심히 학문을 닦아 학식과 재주가 뛰어나고 특히 시문에 능했으며, 성운(成運)·최영경(崔永慶) 등과 교유하여 항상 고결한 행동과 높은 절조를 보였다.