동경 126°21′, 북위 34°40′에 위치하며, 목포에서 남서쪽으로 1.2㎞ 지점에 있다. 면적은 2.35㎢이고, 해안선 길이는 10.7㎞이다. 고하도 남쪽의 장구도와 허사도를 통합하여 하나의 섬으로 되었다. 2012년에 고하도와 북항을 연결하는 목포대교가 개통되면서 육지와 연륙되었다.
삼국시대부터 주민이 거주하였고, 높은 산(유달산) 밑에 있는 섬이라 하여 고하도라 부르게 되었다고 한다. 예전에는 보화도(寶化島), 고하도(高霞島), 칼섬 등으로 불리었다.
지질은 대부분 산성화산암류로 이루어졌으며, 섬 전체가 낮은 산지로 이루어져 있다. 목포시를 마주보는 북동사면은 단애를 이루고 있으나, 남서사면은 완만한 경사를 이루면서 해안에 이어진다. 섬의 남쪽과 서쪽으로 평지 및 완경사지가 넓게 분포한다. 특히 섬의 서쪽 만입부 주변은 간석지가 넓게 발달되어 제방을 막아 농경지와 염전으로 이용된다.
1월 평균기온은 1.6℃, 8월 평균기온은 24.9℃, 연강수량은 1,088㎜이다. 기후가 온난하고 습윤하며 무상기일이 200일이 넘어 일본인들이 우리나라에서 최초로 육지면(陸地棉) 재배에 성공한 곳이다.
2011년 기준으로 인구는 337명(남 181명, 여 156명)이 거주하고 있으며, 세대수는 99세대이다. 취락은 섬 남부의 농경지 부근에 집중하여 분포한다. 토지이용 현황은 논 0.29㎢, 밭 0.57㎢, 임야 0.73㎢이다. 주요 농산물은 쌀과 콩이고, 마늘 · 고추 · 무 · 참깨 등이 소량 생산된다. 인근 해역에서는 김양식을 한다.
임진왜란 때 이순신 장군에 의해 전략지로 활용되어 왜적의 침투를 막아낸 곳으로 고하도 이충무공유적과 이충무공 기념비가 있어 충무공의 뜻을 기리고 있다. 고하도 이충무공유적은 1974년 전라남도 기념물로 지정되었고, 이충무공 기념비는 1974년 전라남도 유형문화재(현, 유형문화유산)로 지정되었다. 또 조선시대에는 도청(都廳)이 설치되어 있었으나, 1648년(인조 25)에 옮겨간 기록이 있다. 교육기관으로는 서산초등학교 충무분교장이 있다.