본래 백제의 오차현(烏次縣)이었는데 신라 경덕왕 때 오아(烏兒)로 고쳐 보성군의 영현으로 하였다. 고려 태조 때 정안(定安)으로 고쳐 영암군에 소속시켰고, 인종 때 공예태후(恭睿太后 : 仁宗妃) 임씨(任氏)의 고향이라고 하여 장흥부로 승격시켰다.
1265년(원종 6)에 회주목이라 하였다가 1310년(충선왕 2)에 목을 없애게 되어 장흥부로 낮추었다. 고려 말에는 왜구의 침입이 있어 주민들이 내륙으로 피한 적이 있었다.
조선 태조 때 수령현(遂寧縣) 가운데에 성을 쌓아 이곳을 치소로 삼았고, 세조 때 진을 설치하였다. 탐진강(耽津江)유역의 평야와 소백산맥의 산지로 둘러싸인 곳으로 다도해 서남부를 차지하고 있다.