본관은 의성(義城). 김거두(金居斗)의 증손으로, 할아버지는 김천(金洊)이고, 아버지는 현감 김영명(金永命)이며, 어머니는 이지유(李之柔)의 딸이다.
1438년(세종 20) 생원으로 식년 문과에 정과로 급제했다.
집현전에 들어가 공부하였고, 1451년(문종 1) 좌정언(左正言)이 되었으며, 경연(經筵)에 출입하여 문학으로 이름이 높았다. 직제학을 거쳐 1454년(단종 2) 성균관직강이 되고 이어 승문원교리를 겸하였으며, 또 기주관(記注官)을 겸하여 『세종실록(世宗實錄)』 편찬에도 참여하였다.
승정원부승지를 지내고 다시 정언이 되었다. 1455년(세조 원년) 세조가 즉위하자 부지승문원사(副知承文院事)에 임명되었으나 병을 칭하여 사직하고 종신토록 벼슬하지 않았다. 같은 해 좌익원종공신(佐翼原從功臣) 2등에 봉해졌으나 사양하였다.