본관은 연안(延安). 자는 원명(元明), 호는 일계(逸溪). 밀직제학(密直提學) 김도(金濤)의 아들이다.
고려 우왕 때 과거에 급제하여 1404년(태종 4) 사헌부 집의가 되고, 1407년 우사간대부(右司諫大夫)가 되었는데, 태종이 대사헌의 상소에 의해 그를 처벌하려다가 그쳤다. 1408년 형조참의가 되었다.
그 뒤 1418년 경기 도관찰사(京畿都觀察使), 호조참판, 이듬해에 형조참판이 되고, 다시 예조참판을 거쳐 대사헌·원주목사가 되고, 1423년(세종 5)에는 평안도관찰사, 1428년에는 형조판서가 되었다. 이 때 마침 동지총제(同知摠制) 성개(成槩)의 노비에 대한 오결사건(誤決事件)이 일어나고 이를 계기로 형조의 기구확대를 둘러싸고 논란이 거듭되는 가운데 파직당하였다.
만년에는 개성부유후(開城府留後)가 되었다가 1434년 68세로 관직에서 물러났다. 학문이 뛰어나 음양(陰陽)·복서(卜筮)·천문·지리·의약·음률에 이르기까지 통달하였다. 배불론자(排佛論者)의 한 사람으로 자신의 상(喪)을 『주자가례(朱子家禮)』에서 따르도록 여러 아들에게 유언할 정도였다. 시호는 문정(文靖)이다.