본래 마한 때 구사오단국(臼斯烏旦國)에 속했고, 백제 때 고시이현(古尸伊縣, 또는 號尸伊縣)이 되었다. 당나라가 백제를 점령했을 때 설치한 사반주(沙伴州)에 속한 모지(牟支)ㆍ무할(無割)ㆍ좌로(佐魯)ㆍ다지(多支) 등 4현(縣) 중의 하나이다.
신라 경덕왕 때 갑성군(岬城郡)으로 고쳐 무주(武州: 지금의 光州)의 관할하에 두었으며, 고려 태조 때 장성으로 고쳤다. 조선시대에는 임진왜란 때 피해가 커서 진원현(珍原縣)의 주민수가 극히 적어 장성현에 합쳤고 치소를 금오산 아래에서 성자산(聖子山)쪽으로 옮겼다.
백제시대의 모지현은 현재의 장성군 북이면 모현리를 중심으로 이루어진 것으로 추측된다.