본래 백제의 아차산현(阿次山縣)이었는데, 신라 경덕왕 때압해로 고쳐 갈도(碣島)·안파(安波)·염해(鹽海) 등 3개의 현을 관할하게 하였다. 고려 현종 때영광군에 예속시켰다가 뒤에 나주로 옮겼다. 그 뒤 왜구의 침입으로 주민들이 나주의 남포(南浦)로 옮겨 살았다.
지명의 유래는 압해의 위치가 목포와 인접한 섬이어서 ‘앞에 있는 섬(押海, 또는 壓海)’에서 나온 것으로 추측된다.
이 섬의 위치는 목포와 이웃하고 있는 다도해 섬 중의 하나이다. 옛 현청이 있었던 유적으로 보아 다도해의 여러 섬을 관장하였던 것으로 보인다. 조선시대에는 이곳에 목장과 창(倉)이 있어 물자의 집산이 이루어졌다. 지금의 압해면 지역으로 추정된다.