본관은 상주(尙州). 아버지는 김운보(金云寶)이다.
무과에 급제하여 1380년(우왕 6) 전옥서영(典獄署令)이 되었다. 이방원(李芳遠: 뒤에 태종)의 잠저(潛邸: 왕이 임금으로 오르기 전의 위치를 호칭하는 말) 때 송거신(宋居信)과 함께 이방원을 보좌하였으며, 특히 말을 잘 타 신임이 매우 두터웠다.
1395년(태조 4)에 낭장으로서 이방원을 따라 사냥을 나갔다가 이방원이 표범의 습격을 받자, 쏘아 죽이고 이방원을 구해내 태조로부터 말 한필을 하사받았다. 1400년(정종 2) 제2차 왕자의 난 때 이방원을 도와 난을 평정하는 데 공을 세웠다. 이듬해 태종이 즉위하자 추충분의익대공신(推忠奮義翊戴功臣)에 추봉되었다. 태종의 신임이 두터웠으나 불행히도 일찍 죽었다. 1436년(세종 18) 가정대부에 추증되고, 1445년에 다시 동지중추원사에 추증되었다.