무장은 무송(茂松)과 장사(長沙)가 합쳐진 지명이다. 무송현(지금의 성송면)은 백제 때 송미지현(松彌知縣)이었는데, 757년(경덕왕 16) 무송으로 고쳤다. 장사현(지금의 상하면)은 백제 때 상로현(上老縣)이었는데, 663년 당나라의 지배 때 좌로(佐魯)로 바뀌어 사반주(沙泮州: 지금의 영광)의 영현이 되었고, 757년 다시 장사로 바뀌었다.
두 현은 다 같이 757년 무주도독부(武州都督府) 관내 무령군(武靈郡)의 영현이 되었고 한때 후백제에 속했다. 고려 초기에는 나주목 관내 영광군의 임내였다가, 후기에 장사현에 감무관이 설치되면서 무송현을 함께 다스렸다.
1417년(태종 17) 무송현을 장사현에 병합하여 무장으로 이름을 바꾸었고, 장사가 해안 지역에 있어 치소(治所)를 내륙으로 옮겼다. 또한, 왜구의 침입이 잦았던 곳이라 진(鎭)을 설치하여 병마사가 판현사(判縣事)를 겸하게 하였다. 1423년(세종 5) 병마사를 첨절제사로 고쳤다가 그 뒤 진을 폐지하였다. 임내였던 약수향(藥水鄕)ㆍ궁산처(弓山處)ㆍ용산(龍山)ㆍ재역(梓亦)재ㆍ다소(茶所)는 조선 초기에 직촌이 되었다.
1895년(고종 32) 군으로 되어 전주부에 속하였으며, 이듬해 전라남도에 속하였다가 1906년 전라북도에 이속되었다. 1914년 행정구역 개편 때 고창군에 병합되어 무장ㆍ성송ㆍ공음ㆍ대산ㆍ상하ㆍ해리ㆍ심원ㆍ아산면이 각각 되었다.
관내에는 선운사(禪雲寺)가 있으며, 청송역(靑松驛)이 영광과 무장을 연결하였고, 해안의 고리포(古里浦)와 소응포(所應浦)에는 봉수가 있었다. 북쪽의 금당포(黔堂浦) 앞바다에는 염정(鹽井)이 있어 예로부터 천일염을 생산하였고, 서쪽의 바닷가에는 20여 리의 모래톱이 발달하였으며 여기에서 장사라는 지명이 유래되었다.