양강도 북서부에 있는 군. 동부는 김정숙군, 남부는 자강도 낭림군과 화평군, 서부는 자강도 화평군, 자성군, 중강군과 접해 있으며 북부는 압록강을 사이에 두고 중국 동북지방과 마주하고 있다. 동서(연송리~노탄노동자구) 간의 길이는 53km이고, 남북(남사노동자구~부전리) 간의 길이는 50km이며, 군 면적은 약 1,472.6㎢ 로서 도 전체면적의 10.6%를 차지한다. 현재 행정구역은 1읍 6구 9리로 구성되어 있으며 군 소재지는 김형직읍이다.
1988년에 후창군을 우리나라 반일민족해방운동의 지도자 김형직 선생의 업적을 기려 양강도 김형직군으로 개칭하였다. 후창군(厚昌郡)은 1869년에 옛 후주군(厚州郡)과 무창군(茂昌郡)에서 한 자씩 따서 명명되었다.
김형직군 지역은 고대사회에 고조선의 영역으로 되어 있었으며 그 후에 고구려의 판도로 되었다가, 발해시기에 서경압록부(西京鴨綠府)에 소속되었다. 발해가 패망한 이후 오랫동안 외족(外族)의 지배 하에 있었다. 조선왕조가 건립된 이후 김형직군 지역은 조선의 영토로 수복되어 갑주만호부(甲州萬戶府)에 소속되어 있다가, 후에 갑산군(甲山郡)에 소속되어 후주(厚州)와 무창(茂昌)이라 칭하였다.
1416년 후주, 무창은 새로 설립된 여연군(閭延郡)에 이속되었다가 1440년에 무창이 무창현으로 독립되어 2년 후에 무창군으로 되었다. 그 후 1455년에 여연군과 무창군은 주변에 있는 우예군(虞芮郡), 자성군(慈城郡)과 함께 폐지되었다. 1664년(현종 5년)에 이 지역에 후주진이 설치되고 1683년(숙종 9년)에 무창진이 설치되었다. 1813년(순조 13년)에 무창진이 무창부로 승격되고 1822년(순조 22년)에 후주진이 후주부로 승격되었다.
1869년(고종 6년)에 후주부가 평안도에 소속되면서 무창부와 후주부를 통합하여 후창군으로 개편되어 하산면(河山面), 진목면(眞木面), 부평면(富坪面), 칠평면(七坪面), 후평면(厚坪面), 부성면(富盛面), 무창면(茂昌面), 연성면(蓮城面), 쌍남면(雙南面) 등 9개 면을 관할하였다. 1895년에 부군제를 실시하면서 강계부 후창군으로 되어 부평면과 쌍남면을 통합하여 부남면(富南面)을 신설하였다. 1896년에 13도제를 실시하면서 평안북도 후창군으로 되어 군내면(郡內面)을 신설하였다. 1914년 행정구역 폐합 시에 군내면과 하산면을 병합하여 군내면을, 부성면과 무창면의 일부를 병합하여 동신면(東新面)을, 연성면과 무창면의 일부를 병합하여 동흥면(東興面)을, 부남면과 진목면을 병합하여 남신면(南新面)을 신설하여 5개 면을 관할하였다. 1918년에 군내면이 후창면(厚昌面)으로 개칭되었고, 1949년 행정구역 개편 시에 자강도 후창군으로 되면서 후창면의 장흥동(獐興洞)이 자강도 자성군 중강면에 편입되었다.
1953년에 후창읍이 두지리(杜芝里)로 강등되고 포삼리가 후창읍(厚昌邑)으로 승격되었으며, 1954년에 양강도 후창군으로 개편되면서 용출리가 자강도 화평군에 편입되었다. 1956년에 후창읍이 다시 포삼리로 강등되고 월탄리가 후창읍으로 승격되었으며 연송리 일부를 분리하여 신파군(현재 김정숙군) 송전리를 신설하였다. 1961년에 녹림리가 녹림노동자구(綠林勞動者區)로 승격되었고, 후창읍이 월탄리로 복귀되면서 포삼리가 다시 후창읍으로 승격되었다. 1967년에 노탄리가 노탄노동자구(蘆灘勞動者區)로, 고읍리가 고읍노동자구(古邑勞動者區)로, 남사리가 남사노동자구(南社勞動者區)로 승격되었으며, 1988년에 후창군을 양강도 김형직군으로 개칭하면서 후창읍을 김형직읍(金亨稷邑)으로 개칭하였다.
1990년에 월탄리·운중리·영저리·회양리를 병합하여 월탄노동자구(月灘勞動者區)를 신설하였고, 연포리가 연포노동자구(鉛浦勞動者區)로 승격되었다. 2003년 현재 행정구역은 1읍(김형직읍), 6구(고읍노동자구, 남사노동자구, 노탄노동자구, 녹림노동자구, 연포노동자구, 월탄노동자구), 9리(금창리, 대응리, 두지리, 나죽리, 연송리, 연하리, 무창리, 부전리, 죽전리)로 구성되어 있다. 김형직군 소재지는 김형직읍이다.