김헌창의 난은 822년(헌덕왕 14) 3월에 신라 웅천주의 도독 김헌창이 일으킨 반란이다. 김헌창은 신라 조정에 항거해 새로운 정부를 수립하고 국호를 ‘장안’, 연호를 ‘경운’이라 했다. 충청·전라·경상도 일부 지역이 반란 세력에게 장악된 전국 규모의 내란이었으나, 중앙에서 파견한 토벌군에게 웅진성이 함락되고 김헌창이 자결함으로써 오래지 않아 진압되었다. 배경에는 아버지 김주원이 무열왕계의 가장 유력한 왕족으로 선덕왕 사후 왕위에 추대되었지만 김경신의 정변으로 즉위하지 못한 사실이 있었다. 이후 무열왕계 귀족들은 왕위계승전에서 완전히 밀려났다.
김헌창의 난은 작게는 원성왕(元聖王, 785∼798)계 귀족들과 무열왕(武烈王, 654∼661)계 귀족들 간의 제2차 왕위계승전이었고, 크게는 신라 하대에 계속된 크고 작은 왕위계승전들 가운데 하나였다. 『삼국사기(三國史記)』에는 김헌창이 그의 아버지 주원(周元)이 왕위에 오르지 못한 것 때문에 반란을 일으켰다고 한다. 김주원은 무열왕계 왕족 중 가장 유력한 세력으로 785년 선덕왕(宣德王, 780∼785)이 죽자 귀족들에 의해 왕위에 추대되었지만, 김경신(金敬信: 훗날의 원성왕)의 정변으로 즉위하지 못하고 명주(溟州: 지금의 강원도 강릉) 지방으로 물러난 사람이다.
김주원이 명주로 물러난 뒤, 계속 원성왕의 후손들이 왕위를 차지하고 있는 상황에서도 김헌창은 중앙에서 지속적으로 활약하였다. 807년(애장왕 8)에는 시중(侍中)이 되어 당시 원성왕의 후손인 상대등 김언승(金彦昇: 훗날의 헌덕왕)에 버금가는 실력자로 두각을 나타내고 있었다. 그러나 김언승이 애장왕(哀莊王, 800∼809)을 살해하고 왕위에 오르자, 이듬해 1월 시중 직에서 밀려났다. 그 뒤 계속 헌덕왕파의 견제를 받아 813년(헌덕왕 5)에는 무진주(武珍州: 지금의 광주광역시)의 도독, 816년에는 청주(菁州: 지금의 경상남도 진주)의 도독이 되어 지방으로 가게 되었고, 821년에는 웅천주도독으로 전보되었다.
이처럼 헌덕왕 일파의 견제를 받는 가운데 웅천주도독으로 전보된 이듬해에 대규모의 반란을 일으킨 것이다. 김헌창이 그의 아버지가 왕이 되지 못한 것에 불만을 품고 반란을 일으켰다는 것은, 당시 김헌창이 반란의 명분을 표방한 것에 불과하다. 귀족회의에서 공식적으로 왕위에 추대된 김주원이 김경신의 정변으로 즉위하지 못한 것을 공격한 것은, 원성왕의 즉위에 대한 합법성 및 당시 원성왕계 왕실의 합법성을 정면으로 부정하는 것이기도 하고, 다른 한편으로는 자신의 거사에 대한 합리화인 동시에 과거 김주원을 지지했던 귀족 세력들에게 지지를 호소하는 명분이기도 했다.
이러한 김헌창의 반란은 자연히 무열왕계인 김주원 일파와 다른 방계(傍系) 김씨 왕족인 김경신 일파 사이의 제1차 대결이 있은 지 37년 뒤에 제2차 대결의 양상으로 나타나게 되었다. 이 난은 그 같은 양 세력의 충돌이었던 만큼, 전국을 휩쓰는 일대의 내란으로 전개되었다.
반란 세력은 순식간에 무진주 · 완산주(完山州: 지금의 전북특별자치도 전주시) · 청주 · 사벌주(沙伐州: 지금의 경상북도 상주) 등 4개 주를 장악하고, 국원경(國原京: 현재 충청북도 충주) · 서원경(西原京: 현재 충청북도 청주) · 금관경(金官京: 현재 경상남도 김해)의 사신(仕臣: 소경(小京)의 장관) 및 여러 군 · 현의 수령들을 복속시켰다. 이처럼 광범위한 지역이 삽시간에 장악된 것은 이들 지역에 반란 세력과 내통한 자들이 있었기 때문이다.
당시 청주에서는 도독 향영(向榮)이 추화군(推火郡: 현재의 경상남도 밀양)으로 비상 탈출을 했는데, 이 같이 반란 세력에 동조하지 않은 부류들은 피신하거나 탈출해 중앙 정부에 반란이 발생했음을 고하였다. 반란 세력이 장악한 지역은 신라 9개 주 가운데 4개 주에 이르렀는데, 이는 충청도의 거의 전 지역과 경상도의 서부와 남부 및 전라도의 전주와 광주까지 포괄하는 범위로 수도인 서라벌을 포위하고 있었다.
초기 반란 세력의 기세는 인근 일대까지도 압도했는데, 삽량주(歃良州: 지금의 경상남도 양산) 추화군(推火郡) 굴자현(屈自縣: 지금의 경상남도 창녕)의 경우는 반란이 진압되고 나서 반란 세력에 휩쓸리지 않은 공으로 7년간 조세를 면제받았을 정도였다. 이처럼 김헌창의 난은 반란의 중심 거점이 웅천주라는 지방이었지만, 반란에 동조하는 세력과 중앙 왕실에 동조하는 양대 세력으로 신라 전체가 양분되었기 때문에 전국적인 대규모의 내란이 되었다.
중앙 정부는 난이 일어나자 우선 원장(員將) 8명을 보내 왕도(王都)의 8방을 수비하게 하였다. 그 다음 반란군의 진압을 위해 계속 군대를 출동시켰는데, 일길찬(一吉飡) 장웅(張雄)이 선발대로 가고 잡찬(迊湌) 위공(衛恭)과 파진찬(波珍飡) 제릉(悌凌)이 뒤따라갔으며, 이찬(伊飡) 균정(均貞), 잡찬 웅원(雄元), 대아찬(大阿飡) 우징(祐徵) 등이 주력 부대인 3군을 맡아 정벌하러 갔다.
그리고 각간(角干) 충공(忠恭)과 잡찬 윤응(允應)은 문화관문(文火關門)을 지키게 하였다. 이 밖에도 2명의 화랑이 낭도들을 이끌고 참전하기도 하였다. 이 같은 원성왕 직계 후손들의 결속으로 난은 진압되었다. 당시 토벌군이 출동하자 김헌창은 전략상의 요지에 병력을 배치하고 싸울 태세를 갖추고 있었다. 그러나 삼년산성(三年山城: 지금의 충청북도 보은) 방면의 반란군이 도동현(道冬峴)에서 장웅의 부대에게 격파되었고, 이어 장웅의 부대와 합류한 위공 · 제릉의 연합군에게 삼년산성마저 함락당하자 결국 속리산에 배치된 병력까지도 섬멸당했다.
그리고 왕경(王京)에 깊숙이 자리 잡았던 성산(星山: 지금의 경상북도 성주)의 반란군도 김균정 등이 이끄는 주력 부대에게 패하였고, 웅진에 진을 친 반란군도 공격을 받아 10일 정도 버티다가 함락되었다. 난이 진압되자 반란 세력에 대한 무장 해제와 대규모의 처형이 일어났다. 김헌창은 참시(斬屍)되고, 이에 동조한 종족(宗族)과 도당 239명이 사형당했다. 그러나 반란 세력에 의해 병졸로 동원된 사민(私民)이나 일반 양민은 방면 · 해산되었다. 또한 당시 사형을 당한 김헌창의 종족은 반란에 직접 가담한 친척들만을 대상으로 한 것이었기 때문에 반란에 가담하지 않은 김헌창 형제의 자손과 근친은 대부분 살아남아 중앙정계에서 지속적으로 활약하였다.
김헌창의 난으로 무열왕계 귀족들은 크게 몰락하였다. 반란에 가담한 많은 귀족들이 죽임을 당했고, 비록 사형은 면제되었을 지라도 골품제에서 신분이 강등되거나 장원(莊園) 등의 경제적 기반을 몰수당한 세력들도 상당히 많았다. 이 난을 분기점으로 무열왕계는 중앙에서 활약을 하더라도 원성왕의 후손들이 주축이 된 각 귀족의 파벌에 가담하는 정도여서, 중앙 정계를 주도할 수 있는 위치에서는 밀려나게 되었다.
김헌창의 아들 범문(梵文)은 당시 토벌군의 진압과정에서 피신해 목숨은 부지했다. 그리고 3년 뒤인 825년 고달산(高達山)의 산적 수신(壽神)과 함께 다시 반란을 일으켰으나 곧 진압되었다. 이로써 무열왕계 후손들은 왕위 계승 쟁탈전에서 완전히 밀려났다.
한편, 김헌창의 난과 관련해서는 그것을 백제권역에 새 국가를 건국하려고 시도한 사건으로 보기도 한다. 김헌창이 백제의 중심지라 할 웅천주의 도독으로 부임한지 채 일 년이 못 되어 반란을 실행시킬 수 있었던 것은, 이들 백제 지역이 신라에 대한 반감이 매우 오래도록 상존해 있었기 때문이라는 것이다.
또한 고구려의 옛 권역도 비록 김헌창의 난에 가담하지는 않았지만 그렇다고 신라 편에 서지도 않았다고 하면서, 훗날 김헌창의 아들 범문이 한산(漢山)을 근거로 다시 반란을 일으켰던 데는 고구려권의 호응을 내심 기대했기 때문이라고도 했다. 이렇게 볼 때 통일신라는 삼국으로 다시 분리될 소지를 잠재적으로 내포하고 있었다고 할 수 있는 것이다.