선사 시대에 동검이 시 부근에서 출토된 점을 볼 때, 선사시대인들이 살았다고 추정하고 있다. 백제 때 물아혜군으로 불렸다가, 신라 때 무안군으로 개칭되었다. 고려 때 해양도 나주시의 물량군으로 불렸다가, 조선 때 다시 무안군으로 불렸다. 조선 초기 목포진이 설치되었다. 대한제국 시기 개항장으로 지정되어 **무안부**로 승격되었고, 일제강점기가 되면서 **목포부**로 개칭되었다. 광복 이후 1949년 **목포시**로 개칭되어 현재에 이른다.

## 삼국 시대, 남북국 시대
일찍이 삼한 중 마한에 속해 있었으며 삼국 시대에는 백제의 물아혜(勿阿兮)군, 남북국시대 신라때에는 무주(武州)에 속했다. 목포 앞바다는 곡창지대이자 중국과도 멀지 않은 거리여서 고대부터 영산강 물줄기를 거슬러 나주에 이르는 교역로로 각광받기도 했다.

## 고려 시대
946년에 물량군(勿良郡)으로 개편되었다. 그러다 991년에 다시 무안군으로 불렸다가 고려 성종이 995년에 10도를 설치함에 따라 해양도 나주목 무안현으로 개편되었다. 고려 시대에 본격적으로 이름이 거론되기 시작하는데 정확히는 왕건이 궁예 밑에 있던 태봉 시기의 일이다. 궁예세력에 참가하고 있었던 해양세력의 왕건은 견훤의 후백제를 밑에서 치고 올라가기 위해 나주를 점령하고자 목포에 도착해 나주 지역을 복속했다고 한다. 이때 장화왕후를 만나 혼인한 것으로 알려져 있다. 목포 나주 지역은 후삼국시대 재통일 과정에서 왕건에게 큰 힘이 되어주었다.

## 조선 시대
이후 조선 시대에 들어 목포진이 설치됐다. 세종21년 1439년에는 목포 수군 만호진을 별개로 설치하여 인근 연안의 12개 도서를 관리하게 했다. 현재의 만호동은 과거 만호진이 있어서 붙인 이름이다. 임진왜란 때는 이순신 장군이 명량대첩 후 군선 재정비와 군량미 확보를 위해 목포와 고하도 앞에 수군진을 설치하여 108일 머무르기도 했다.

1895년 나주목 무안현에서 독립하여 목포진 또는 목포영이라 하였고 군사 행정업무를 담당하였다. 만호청에는 외국인들이 주류하였다.

## 개항
목포가 개항한 것은 1897년 10월 1일로서 인천보다는 15년 뒤진 것이었지만, 부산과 인천을 뺀다면 가장 이른 것이었으므로 상당히 빨랐다. 목포가 개항함으로써 무안군은 1906년 **무안부**로 승격되었다. 이는 지리적 요인 때문으로 목포는 후쿠오카나 나가사키에서 보면 중국 대륙을 두고 가운데 있었고 곡창지대인 호남의 물산을 집결, 유통하기 위해 일본은 목포 개항에 눈독을 들이고 있었다. 개항이 되자 일본인들의 거류지가 폭발적으로 늘어나는 한편 자치기관이 설치됐다. 일본인들의 거류지는 항구가 바로 앞에 있는 현재의 유달동 일대였으며 국권침탈 전에는 일본 영사관이 유달동 인근에 있었다. 이 건물은 목포 문화원으로 사용되기도 했다.

당시 일본인들은 개항장에서 상행위를 할 수는 있었으나 내륙까지 들어갈 수 없었다. 그러나 일본인들은 목포 근처의 영산포를 시작해 논밭을 사들이기 시작했다. 당시 조선 정부가 매겼던 세도 낮았던데다 일본의 논밭 가격의 십분지 일이었기에 땅 매입을 위해 주력했다. 강압에 의해 개항되면서 곡창지대인 호남쌀이 집결되는 곳으로서 쌀을 일본에 수출하기 시작했다. 목포 개항 이후 국내 쌀값은 여섯 냥 하던 것이 1898년에는 14냥으로 뛰었다.

1898~1903년에는 목포 부두 노동자들이 자본가에 대항하여 동맹파업을 일으켰다. 사건의 발단은 일본인이 고용한 조선 부두노동자들이 점심을 물로 채우고 저녁 늦게까지 작업을 해야 하는데 제대로 된 월급도 받지 못했기 때문이었다.

1905년 이후에는 유곽이 들어서기 시작했으며 일본인들의 거주지가 확장되면서 그 세력이 더욱 커져 1914년 지금의 금화동 지역으로 옮겨갔다. 이곳을 사쿠라마치라고 불렀다. 금화동은 현재 여객선터미널 뒷편에 있는 수산업협동조합 일대로서 유달동과 근접하며 일본인 집단 거주지라 벚나무가 어우러져 있었다.

1910년 국권침탈 후 무안부에서 **목포부**로 개칭되어, 19면을 관할하였다.

## 일제강점기
목포 개항 이후 완도를 통해 이어지던 뱃길에 항상 목포가 끼게 되었고 목포-제주 사이를 정기적으로 항해하는 기선이 생겨났다. 1921년 설립된 순항선조합의 선박을 비롯해 인천, 부산, 여수를 오가던 배들은 목포를 중간 기착지로 삼아 항해를 이어나갔다.

1914년에는 호남선 철도가 개통되면서 대전-목포간 철로가 개설되었다. 그해 4월 1일 목포부를 분해하여, 도시 지역인 부내면만 **목포부**로 남기고, 부내면을 제외한 목포부의 나머지 면과 지도군 전역, 진도군 도초면·안창면·기좌면, 완도군 팔금면이 무안군으로 개편되었다. 무안군청은 목포부 내에 두었다. 이미 목포항의 기능을 곡물 수탈로 설정한 일제는 1920년 동양척식주식회사 목포지점을 설치했고 이 건물은 지금까지 남아 목포근대역사관으로 쓰이고 있다.

철도, 조선, 수산가공업이 본격화되면서 조선인들은 각지에서 몰려들어 일거리를 찾았다. 일본인 거주지역에 가깝게 자리를 잡기 위해 작은 움막 따위를 지어 좁디 좁은 골목을 만들어 지냈다고 한다. 그 자리는 옛 공동묘지로서 조선총독부가 허가하면서 겨우 거주가 허락된 곳이었다.

1932년에는 무안군 일부 지역 편입으로 면적이 늘어나는 한편 인구 6만의 조선 6대 도시로 성장했다. 당시 목포항에 모이던 물품은 **一黑**(김) , **三白**의 집산지로 널리 알려지게 되었다. 일본인들은 전북에 쌀의 군산이 있다면 전남에는 면의 목포가 있다고 했는데, 1930년대 초 목면공장의 수가 20여 곳에 이르렀던 조선 제일의 목면 수출항이었다. 이 목면은 일본 간사이의 한신 지역으로 주로 팔려나갔다.

## 대한민국 정부 수립 ~ 현재
1949년 목포부에서 **목포시**로 개칭된 후 현재에 이르기까지 목포시는 계속적으로 면적이 늘어났다. 이는 1963년 무안군 지역 흡수까지 늘어나 현재에 이르고 있다.

목포의 명소인 삼학도는 1940년도에 목포 앞바다에 있던 삼학도를 연륙하면서 68년부터 73년까지 추진된 간척공사로 육지로 변했다. 삼학도는 크게 대·중·소삼학도로 구분되며 2000년부터 복원사업을 실시했다. 시민단체의 졸속 행정이라는 비판이 끊이지 않아 난항이 컸던 사업이었다. 그러나 2006년 공사 6년 만에 소삼학도를 원형에 가깝게 복원해 물길을 두고 다리를 통해 건너갈 수 있도록 3개의 섬으로 복원하는 데 성공했다. 소삼학도와 중삼학도 사이가 5개의 다리로 연결돼 2007년 3월 1일부터 개방된 상태다.

1980년 광주 민주화 운동 당시 목포지역에서도 수많은 학생운동이 일어났으며 2호광장에서 목포역까지 긴 대열을 이루며 시위가 진행되었다. 당시 목포역은 학생운동의 본산으로 궐기대회와 대책 마련에 나선 시민들이 모이던 장이었다.

목포의 성장에 결정적인 요인이 된 것은 일제강점기 호남선이 개통되고 항구로서 기능을 복합적으로 갖게 된 데 있었다. 호남선의 종착역으로서 오늘날까지 기능하고 있으며 2004년 4월 1일 KTX 개통으로 KTX 열차가 1일 왕복 9회(금·토·일요일 1일 왕복 10회) 정기운행되고 있다. 삼학도 복원 사업과 더불어 남항의 발전이 가속화되고 있으며 관광중점인 북항과 물류 전담인 신외항을 축으로 하여 항만 운영이 이뤄지고 있다.

21세기에 들어 목포의 매력으로 떠오른 부분은 목포 신항·무안 국제공항 건설 등 사회기반시설에 관한 투자촉진과 대불·삼호공단 조성으로 산업기반 시설이 확충되어 서남해안 시대의 중추 도시로 떠오를 수 있을 것으로 보기 때문이다. 특히 중국의 발전으로 인해 상해 홍콩 등 중국 동남권과의 연계발전 가능성이 주목되는 도시로 부각되고 있다.

그리고, 원도심 개발과 남악신도시 등 각종 개발 사업이 진행되었다.