본관은 상주(尙州). 자는 창원(昌遠), 호는 성극당(省克堂). 김예강(金禮康)의 증손으로, 할아버지는 장사랑(將仕郞) 김윤검(金允儉)이고, 아버지는 옥과현감(玉果縣監) 김범(金範)이며, 어머니는 창녕조씨(昌寧曺氏)이다. 조식(曺植)과 유성룡(柳成龍)의 문인이다.
1579년(선조 12) 진사가 되고, 1585년 식년 문과에 을과로 급제하여 승문원부정자에 발탁되고, 홍문관정자·저작(著作), 예문관검열 등을 거쳐 부수찬을 역임하였으며, 당시 형인 김홍민(金弘敏)과 함께 사림으로 영예를 누렸다.
1589년 이조좌랑으로 있을 때 남인으로 정여립(鄭汝立)의 모반사건에 연루되어 파면되었다. 그 뒤 복관되어 1592년 임진왜란이 시작될 무렵에는 경상좌도도사가 되고, 이어 교리 겸 시강원문학을 거쳐 이듬해 경연관·응교·사간·사성 등을 역임하였다.
1597년 승정원동부승지로 있을 때, 삼도수군통제사인 이순신(李舜臣)을 탄핵하여 파면하게 하고 원균(元均)을 통제사로 삼게 하는 데 가담하였다. 그 뒤 좌부승지·훈련도감제조를 거쳐, 형조참의·대사간·이조참의·승문원부제조 등을 역임하다가 1598년 관직을 사퇴하였다.
그 이듬해 다시 청송부사(靑松府使)를 거쳐 1604년 강릉부사로 부임하였는데, 이듬해 큰 비가 내려 백성이 많은 재난을 당하였다. 이에 약한 몸을 이끌고 수재로 죽은 자의 조문과 굶주린 자의 진휼에 힘써 직무에 충실하다가 병이 악화되어 관직에서 물러났다.