동경 126°20′, 북위 35°35′에 위치한다. 부안군 산내면 해안에서 서쪽으로 15.7㎞, 위도에서 북쪽으로 1㎞ 지점에 있다. 면적은 0.92㎢이고, 해안선 길이는 7.5㎞이다.
지질은 대부분 주1 망령봉응회암으로로 이루어져 있다.
섬 중앙이 좁은 지협부(地峽部)를 이루어 동서 2개의 섬이 하나로 연결된 형상이다. 동쪽의 최고봉 가마귀산(115.8m)을 포함해 섬의 크기에 비해 기복이 큰 산지로 이루어져 있으나 경사는 급하지 않다.
북쪽 해안은 암석 주2으로 주3가 발달되어 있고, 남쪽의 만(灣) 연안은 사빈 해안을 이루고 있다. 1월 평균 기온은 -0.2℃, 8월 평균 기온은 25.5℃, 연강수량은 1,136㎜이다.
2018년 기준으로 인구는 173명(남 104명, 여 69명)이 거주하고 있으며, 세대수는 117세대이다. 취락은 섬의 남쪽 해안에 집중해 있다. 토지 이용 현황은 논은 없고 밭 0.15㎢, 임야 0.70㎢이다. 주민의 대부분이 농업과 어업을 겸하고 있다. 주요 농산물은 마늘이며, 보리 · 콩 · 깨 등이 소량 생산된다. 주요 어획물은 멸치 · 갈치 · 새우 등이며 김과 주4 양식도 이루어지고 있다.
교통은 부안군 격포항에서 정기 주5이 운항되며, 위도-식도(식도항)-상왕등도-하왕등도로 노선이 연결되어 있다. 교육 기관으로는 위도초등학교 식도분교장이 있는데, 재학생이 없어 2019년 이후로 휴교 중이다.