군산에서 남서쪽으로 18㎞ 지점에 있고, 남쪽에 가도가 있다. 동경 126°34′, 북위 35°58′에 위치하며, 면적 1.76㎢, 해안선길이 6.3㎞, 인구 958명(1985년 현재)이다. 중생대 백악기의 화강암류가 기반암을 이루고 있으며, 가장 높은 곳은 76.4m이다.
조선시대에 전라도의 공미(貢米)를 한양으로 실어나르는 배들이 쉬어가던 곳이었는데, 어느 날 선단이 침몰하여 선원의 시체가 가득하고 시체 위에 까마귀떼가 앉아 있었다 하여 까마귀 ‘오’자, 주검 ‘시’자를 따 오시도(烏屍島)라 불렀다. 그 뒤 일제강점기 때 이름이 불길하다 하여 오씨가 많이 살며 대나무가 많은 것을 보고, 대바구니 ‘오(筽)’자, 대바구니 ‘식(篒)’자를 따 오식도라 하였다.
해안과 그 주변에는 해안사구와 넓은 간석지가 분포하는데, 이는 금강의 토사가 남쪽으로 흐르는 연안해류에 의하여 이동ㆍ퇴적되어 이루어진 것이다. 1919년 이래 간석지들을 간척하여 내초도(內草島)를 지나 비응도까지 육지에 연결되었고, 오식도까지는 전부 매립되어 연결된다.
1월평균기온 -1℃, 8월평균기온 27℃, 연강수량 1,094㎜, 연강설량 197㎜이다. 육지화되기 이전에는 대부분의 주민이 농업과 어업을 겸하고 있었으며, 경지면적은 논 36㏊, 밭 37㏊로 경지율은 38.8%이었다.
1989년 옥구군에서 군산시로 편입되었으며, 군장국가산업단지가 조성되면서 완전히 육지화되었다. 현재는 오식도동 북동쪽에 현대기아차부두(구 군산항5부두)가 있으며, 북쪽으로 대우자동차 전용부두가 건설되었다. 오식도의 남단으로는 21번 국도가 지나가고 있으며, 남서쪽의 비응도는 세계최장의 방조제인 새만금 방조제의 해안도로가 시작되는 지점으로 신시도를 거쳐 부안군 변산면으로 연결되는 중요한 교통로가 되고 있다.
주요 농산물로는 쌀ㆍ보리ㆍ콩ㆍ고구마ㆍ무ㆍ파 등이 생산되며, 연안에서는 갈치ㆍ민어ㆍ꽃게 등이 어획되고, 패류를 채취하며 섬 남쪽에 소규모 염전이 있었다. 교육기관으로는 초등학교 1개교와 중학교 1개교가 있었다.