목포에서 서남쪽으로 약 63㎞ 해상에 있다. 우이도(牛耳島)를 비롯하여 서소우이도·동소우이도 등 유인도와 백도(白島)·죽도(竹島)·비도(鼻島) 등 무인도를 포함한 27개의 크고 작은 섬으로 구성된다. 우이군도는 우리나라의 전형적인 낙도에 해당되는 도서군이다. 다도해해상국립공원으로 지정되어 있다.
군도 명칭은 섬 서쪽 양단에 두 개의 반도가 돌출하여 마치 소의 귀모양과 비슷하다 하여 이름 붙여진 우이도에서 유래된 지명이다.
우이군도는 최고점 361m의 우이도를 제외하면 높이 50m 이하의 암초성의 작은 섬들로 구성되어 있으며, 사면이 가파르고 평지가 거의 없다. 해안은 일부를 제외하면 깎아 세운 듯한 해식애로 구성된 암석해안이고 주위의 수심이 깊다. 특히, 우이도의 서쪽 해안은 기암절벽이 병풍처럼 늘어서서 장관을 이룬다. 서해안을 남하하는 연안의 한류와 서해 중앙부를 북상하는 황해난류가 경계를 이루는 곳이므로 안개가 끼는 날이 많다.
2009년 기준으로 유인도인 우이도의 인구는 162명(남 86명, 여 76명)이고, 동소우이도의 인구는 13명(남 5명, 여 8명)이며, 서소우이도의 인구는 54명(남 35명, 여 19명)이다. 주로 어업과 농업에 종사한다. 수산물로는 연안에서 김과 미역 양식이 행해지고, 농어·조기·꽃게·새우가 많이 잡힌다. 교통은 목포에서 우이도까지 정기여객선이 운항된다.