본관은 연안(延安). 자는 대빙(待聘). 밀직제학(密直提學) 김도(金濤)의 증손으로, 할아버지는 형조판서 김자지(金自知)이고, 아버지는 김해(金侅)이며, 어머니는 참판 성개(成槪)의 딸이다.
1453년(단종 1) 사마시에 합격하였으나, 끝내 문과에는 급제하지 못하였다.
성종이 세자였을 때 왕자사부(王子師傅)로 발탁되어 무반으로 대우받았고, 1472년(성종 2) 사옹원직장으로 출발하여 한성부참군(漢城府參軍)을 거쳐, 종부시주부가 되고, 1477년에는 해주판관이 되었다. 1479년 군기시주부를 거쳐, 이듬해 통진현령이 되었다.
그 뒤 1486년에는 단양군수 등을 지냈다. 이후 상호군·대호군 등을 번갈아 10여 년 동안 역임하였다. 이어 성종의 배려로 문반이 되어 호조참의를 제수받고 첨지중추부사를 거친 뒤 관직을 떠났다. 영의정에 추증되고, 시호는 호간(胡簡)이다.