1. 선사시대
신석기 시대 이전의 유물, 유적은 발견된 것이 없으나, 고인돌, 석부, 선돌 등 청동기~철기시대의 것이 많이 발견되는 것으로 보아 일찍부터 사람이 거주했음을 알 수 있다.2. 삼국시대
삼국시대 처음에는 마한의 신미국을 중심으로 한 소국 연맹체였던 침미다례의 영역이었다. 침미다례는 독자적으로 중국에 사신을 파견할 정도로 강력했으나 백제에게 정복돼 현 진도 일대에는 인진도군(因珍島郡), 도산현(徒山縣), 매구리현(買仇里縣)이 설치된다. 당시 인진도군의 치소는 지금의 고군면 고성리에 있었다.이후 백제 말기 의자왕 20년(660년) 7월, 백제가 나당 연합군에 항복하게 되어 도산현은 당나라가 현 나주 일대에 설치했던 웅진도독부 대방주에 속하게 된다.
남북국시대엔 신라 경덕왕 16년(757년)에 전국 지명 한화정책에 따라 인진도군은 진도현으로 강등되어 무안군의 영현이 되고, 도산현이 뇌산군(牢山郡)으로 승격하고, 메구리현은 첨탐현(瞻耽縣, 임회면)으로 개칭되어 뇌산군의 영현이 됐다. 이때 이미 무안군 영현이 되었다는 고려사 지리지 기록이 있다.
그리고 후삼국시대에는 진도 김씨의 시조 김국빈의 23세손 김경호(金敬浩)가 왕건의 나주 공방전에 협조하였으며, 후삼국 통일 이후 그 공을 인정받아 옥주후(沃州候)가 되었다는 기록이 있다.
3. 고려시대
고려시대 태조 23년(940년) 3월 전국에 행정구획과 주, 군명을 고칠때에 뇌산군(牢山郡)을 폐지하고 뇌산군은 가흥현, 첨탐현은 임회현, 진도현을 두되 나주에 소속시켰다. (물론 이 시기를 현종때로 보는 견해도 있다.) 사찬기록인 '옥주지'에는 진도의 치소를 용장으로 옮기고 옛진도현을 외이현이라 했다는 기록이 있다.고려시대 중기 원종 11년(1270년) 6월에 삼별초가 상륙하여 승화후 왕온을 왕으로 추대하고 개경과는 별도로 정부를 수립하였다. 그 해 8월 용장사를 도읍으로 정하고 몽골 제국군에 저항하였다.
하지만 배중손이 이끈 삼별초의 난은 1271년 5월에 토벌당하며 실패로 끝났고 진도 주민들은 몽골로 잡혀가는 등 전란을 거치며 진도가 초토화되고 그 후 설상가상으로 충정왕 2년(1350년) 7월부터 이듬해인 1351년 11월까지 왜구의 침입으로 모든 주민이 내륙으로 피난을 하여 월악(현 영암군 시종면 월악리), 명산(현 영암군 시종면 구산리)과 금산(현 해남군 삼산면)으로 가 진도로 돌아오지 않으면서 금산에 관부를 두어 87년동안 진도에 행정기관을 설치하지 않으면서 거의 빈 섬이 됐다.
4. 조선시대
조선시대 초기인 태종 9년(1409년)에 주민들을 해남현으로 이주시켰고, 해남과 진도를 통합하여 해진군이 되었다. 이 해에 전라도의 모든 속현과 향·소·부곡이 폐지되면서 진도의 가흥현·임회현·의신향이 폐지되었다. 이후 태종 14년(1414년) 진도 거주가 허용되고, 진도를 다시 개척하고 목장을 만들기 위해 진도에 들어간 주민에게 10년간 세금을 면제해주는 조치를 취했다.세종 19년(1437년)에 해진군이 해남현과 진도군으로 분리되었다. 그 해 6월 29일에 초대 군수로 양경이 부임하여 고성 부근에 성을 수축 치소를 삼고자 하였으나 지리적 여건이 현 군청 소재지만 못하여 이곳에 관부설립공사를 추진 완공, 경신년(1440년)에 지금의 진도읍으로 관부를 옮겼다. 이로써 87년만에 진도에 관청이 설치되었다. 그리고 세종 22년(1440년) 진도의 치소를 지금의 진도읍으로 이전하였다.
그 후, 여러 번의 행정구역 개편에 따라 본군에 예속된 육지부의 삼촌면(현 해남군 삼산면), 명산면(현 영암군 시종면)과 본도 내 군내면(古 도산현), 고군면(古 외이현), 의신면(古 의신향), 임회면(古 임회현), 읍내면(읍 성내외리), 목장면이라 하였다.
조선시대 중기에 발발한 임진왜란 때 명량해전의 무대인 울돌목이 진도-우수영 사이의 해협이다. 이후 현종 3년(1666년)에 향교의 전패를 잃어버린 일로 현으로 강등되었다가 10년만에 복구되었다.
조선시대 말기인 고종 3년(1866년) 진도군은 진도부로 승격, 4군 9진을 거느리고 해남 화원면을 복속시켰으며 읍내면은 부내면이 되었으나 고종 10년(1873년)에 다시 군으로 강등되었다. 그리고 고종 32년(1895년) 6월 23일에 나주부 진도군으로 개편하였다가 고종 33년(1896년) 8월 4일에 전라남도 진도군으로 개편됐다. 부내면, 고일면, 고이면(이상 2면은 옛 진도), 군일면, 군이면(이상 2면은 옛 가흥현), 임일면, 임이면(이상 2면은 옛 임회현), 의신면, 명금면(이상 2면은 옛 의신향), 지산면, 제도면, 명산면, 삼촌면 1899년, 제도면을 조도면과 가사면으로 분면하였다.
또한, 조선 말기엔 무려 본토에 월경지도 갖고 있었다.[1] 각각 영암군과 해남군에 둘러싸인 명산면[2]과 삼촌면이었는데, 1906년 월경지 정리로 인해 면산면은 영암군에, 삼촌면은 해남군에 편입되었다. 이런 면들을 전부 합치면 총 17개면이나 됐다. 이는 조선 후기 제작된 전국지도인 대동여지도에서도 찾아볼 수 있다.
이후, 대한제국 시대인 광무 10년(1906년)에 육지부의 명산면과 삼촌면이 영암, 해남군에 각각 이속되었다.
5. 일제강점기
일제강점기인 1914년 4월 1일, 행정구역 폐합을 단행하여 도초를 무안군에 이속 본군을 진도면(前 부내면), 군내면(前 군일, 군이면), 고군면(前 고일, 고이면), 의신면(前 명금, 의신면), 임회면(前 임일, 임이면), 조도면(前 가사도면, 조도면), 지산면(前 목장면)으로 존치시켜 7면 101리로 개편됐다.(안창, 기좌의 환원 기록이 명확치 않다.)6. 대한민국
8.15 광복으로 해방 이후 1960년대인 1963년 1월 1일, 조도면 마진도리가 신안군 장산면에 편입되었으며, 1969년에 무안군의 섬 지역들이 신안군으로 분리되어 현재 도초면은 신안군 땅이 됐다.1970년대 이후 진도군은 계속해서 소소한 개편이 이루어진다. 1973년 7월 1일 군내면의 수역, 수유, 해창, 산월 리가 진도면으로 편입되었다. 1975년 1월 1일에는 군내면 녹진리에서 대야리를 분리 226개리가 227개리로 소폭 늘었다가 1979년 5월 1일, 진도면이 진도읍으로 승격되어 1읍 6면 227개리로 개편됐다.
1980년대 진도군의 마을 개편이 절정이었는데, 1980년 2월 2일엔 진도읍 산월리에서 내산리, 고군면 가계리에서 용호리, 의신면 접도리에서 수품리가, 지산면 봉암리에서 상봉암리가 각각 분리되어 227개리에서 231개리로 구분되었다. 1982년 1월 1일 의신면 구자도리(狗子島里)를 구자도리(九子島里)로, 침계리의 수용소리를 진설리로 개칭하였으며, 1983년 2월 15일 조도면 만재도리와 가사도리 중 고사도와 평사도 및 부속도서를 신안군에 편입시키고 231개리를 229개리로 감소하며 개편됐다. 1984년에 완공된 진도대교로 육지와 연결되었으며, 1986년 7월 1일 행정구역 개편으로 진도읍 사정리를 사정1리, 사정2리로, 전두리를 전두1리, 전두2리, 청용리로, 임회면 석교리에서 고방리, 구분실리로, 지산면 수마리를 수양리, 마사리로, 조도면 창리에서 어류포리가 각각 분리되어 229개리에서 236개리로 증가하여 개편됐다. 1987년 1월 1일엔 임회면 염장리가 진도읍으로 편입되었다.
1990년대에 접어든 1990년 8월 1일, 신안군에서 저도 외 5개 섬이 진도군으로 편입됐다. 이후 1992년 5월 9일 의신면 도목리가 도목리, 도항리로 접도리에서 원다리, 임회면 죽림리에서 동헌리, 지산면 소앵무에서 백연동리, 심동리를 상심동리, 하심동리로 분리되어 236개리가 241개리로 다시 늘어서 개편됐다.
2000년대인 2005년 제2진도대교가 바로 옆에 만들어지고 같은 해에 군내면 월가리에서 정거리가 분리되어 241개리가 242개리가 되면서 현재의 진도군이 완성됐다.
2010년대인 2014년 4월 16일에는 진도군 조도면 맹골수도 해상에서 청해진해운 세월호 침몰 사고라는 안타까운 사고가 일어나며 진도군의 경제가 주춤했지만 2019년 송가인이 내일은 미스트롯에서 우승한 이후 앵무리가 송가인마을로 바뀌면서 엄청난 인기를 끌며 진도군 경제를 다시 살렸다.
2020년대에 들어선 코로나 19로 인해서 또다시 경제가 주춤했으나, 이후 다시 송가인마을에 수많은 관광객들이 오면서 회복하고 있다.