본관은 광산(光山). 자는 명보(明寶) 또는 중휘(仲輝), 호는 우헌(迂軒). 아버지는 김광술(金光述)이며, 어머니는 풍천임씨(豐川任氏)로 임경진(任慶進)의 딸이다.
1652년(효종 3)에 진사시에 합격했다. 1660년(현종 1) 승문원정자에 제수된 후 저작·박사를 거쳐 1666년 의금부도사·예조좌랑을 역임하고, 1667년 우현감으로 외직에 나갔다.
1673년에 중앙관에 복귀하여 성균관직강·병조좌랑·사헌부지평·홍문관수찬·사헌부장령·집의(執義)·지제교(知製敎) 등을 역임하였다. 1678년(숙종 4) 차왜접위사(差倭接慰使)로 동래에서 왜사(倭使)의 예경(禮敬)을 받았다.
그는 시문에 능하여 「창랑대기(滄浪臺記)」 등 다수의 시문을 남겼으며, 옥구현감 시절에 지은 여러 편의 기우문(祈雨文)은 우국애민의 충심이 엿보인다. 저서로는 『우헌문집(迂軒文集)』 4권이 있다.