본관은 경주(慶州). 자는 중길(重吉), 호는 추곡(楸谷)·송림(松林). 김구의 증손으로, 할아버지는 판관 김선경(金善慶)이고, 아버지는 생원 김순(金峋)이며, 어머니는 부호군(副護軍) 한광윤(韓匡胤)의 딸이다.
1613년(광해군 5) 생원이 되었으나, 광해군의 정치가 날로 어지러워지자 벼슬에 뜻을 버리고 시골에 은둔하였다. 그 뒤 인조반정으로 인해 정권이 안정되어가자, 1630년(인조 8)에 별시 문과에 병과로 급제하였다.
그러나 높은 벼슬에는 뜻을 두지 않고 부모를 봉양하기 위하여 외직을 택하여 계속 다섯 고을을 다니면서 다스렸다. 어버이가 죽은 뒤에는 벼슬을 그만두고 고향에 돌아가 친구들과 함께 기로계(耆老契)를 만들고 향산(香山)의 옛일을 본받아 유유자적하였다.
뒤에 노인우대로 다시 중추부(中樞府)에 들어가 첨지중추부사(僉知中樞府事)·동지중추부사(同知中樞府事)·한성우윤을 역임하였다. 대사헌에 천거되었으나 고례(古例)에 어긋난다 하여 임명되지 못하고 1675년(숙종 1)에 지중추부사가 되었다.