본래 백제의 상칠현(上柒縣)이었는데 663년 당나라 치하에서 좌찬(佐贊)으로 바뀌고 고사주(古四州 : 지금의 정읍시 고부면)의 영현이 되었다가, 757년(경덕왕 16)상질(尙質)로 고쳤다.
고려시대에는 고부군의 임내였다가 뒤에 장덕현(章德縣, 또는 昌德縣)으로 바꾸어 감무관을 두면서 고창현이 편입되었다. 1298년(충선왕 1) 왕의 이름(璋)과 음이 같다 하여 흥덕으로 바꾸었다.
1401년(태종 1)고창현이 분리되고 진(鎭)이 설치되어 병마사가 판현사(判縣事)를 겸임하였으나 1417년 진이 부안현으로 옮겨지면서 현감을 두었다. 임내로 좌향(坐鄕) · 갑향(甲鄕) · 남조향(南調鄕) · 북조향(北調鄕) 등이 조선 말기까지 남아 있었다.
1895년(고종 32)에 군이 되어 전주부, 이듬해전라남도에 속하였으며, 1906년전라북도에 이속되고 고부군의 월경지(越境地)인 부안면이 흥덕현에 편입되었으나 1914년 행정구역개편 때 고창군 흥덕면으로 병합되었다.
조선시대에는 서해안지역에 자리잡고 있어 사진포(沙津浦) · 선운포(禪雲浦) 등의 포구가 있었다. 특히, 사진포에는 해창(海倉)이 있어 이곳의 세곡을 모아 황해로 내보냈다. 현의 치소는 본래 배풍치(陪風峙) 위 성내에 있었는데 정유재란 후 성의 남문 밖으로 옮겨졌다.
해변의 염창은 소금을 모은 곳이었고, 백제 때 만들었다는 눌제호(訥堤湖)는 이 지역에 관개용수를 공급하였다. 임진왜란과 정유재란 때 채홍국(蔡弘國)이 이끈 의병이 이곳에서 왜적과 싸우다 순절하였다는 기록이 있다.