김 의정, 김균정의 아들로 선왕 문성왕의 숙부이다.
아버지 균정과 김명이 권력다툼을 벌일 때 당나라에 사신으로 가 있는 바람에 정쟁에 휘말리지 않았고. 병부령을 거쳐 상대등으로 임명되는 등 승승장구했으며, 문성왕의 유조를 받아 왕위를 물려받았다.
이는 문성왕이 병은 깊은데 아들은 너무 어리고, 나라 사정도 안 좋고 해서 아들도 없는 다 늙은 숙부에게 나라를 맡겼다는 이야기인데….
권력의 속성 상 아무래도 믿기 힘들고.
따라서 여러가지 설이 있는데,
그 중 헌안왕과 경문왕의 아버지인 김계명의 협박에 의해 문성왕이 어쩔 수 없이 헌안왕에게 양위했다는 설이 가장 설득력이 있다. 깊은 속 사정이야 당사자들만 알 것이고.
어쨌든 조카의 뒤를 이어 857년 왕위에 올라, 이듬해에 신궁에 제사 지냈고.
3년차에는 기근을 구제하였으며,
4년에 계명의 아들인 응렴을 사위로 삼았고, 병이 들어 다음해에 사망하였다.
재위 기간도 짧고 뭐 한 게 없는 것으로 보아,
이 양반은 아무래도 다음 대 경문왕으로 넘어가기 위한 과도기적인 왕이었던 것 같다.
슬하의 딸 둘을 모두 경문왕에게 시집보냈다.