동경 126°23′, 북위 36°23′에 위치하며, 안면도에서 남쪽으로 1.7㎞ 지점에 있다. 면적은 10.28㎢이고, 해안선 길이는 28.5㎞이다. 보령시 신흥동에서 원산도를 연결하는 해저터널(6,927m)이 2012년에 착공되었다.
고려시대에는 고만도라 하였는데, 고자를 고을과 같은 의미를 가진 원(元)자로 고쳐 원산도라 부르게 되었다고 한다. 또는 원래 산으로 이루어진 섬이어서 원산도라 부르게 되었다고도 전한다.
섬은 동서 방향으로 길게 뻗어 있다. 최고봉은 서쪽에 있는 오로봉(五老峰)으로, 대부분 50m 내외의 구릉성산지로 이루어져 있다. 사빈으로 구성된 직선상의 남쪽 해안을 제외하면 해안선의 출입이 심하다. 만입부가 많은 북쪽 해안의 일부는 간척이 되어 농경지로 이용되고 있다. 1월 평균기온은 0.1℃, 8월 평균기온은 25.1℃, 연강수량은 1,081㎜이다.
2011년 기준으로 인구는 211명(남 113명, 여 98명)이 거주하고 있으며, 세대수는 118세대이다. 토지이용 현황은 논 1.29㎢, 밭 1.06㎢, 임야 4.19㎢이다.
주민은 대부분 어업에 종사한다. 주요 농산물은 쌀이고, 이외에 고추·무·배추·마늘 등이 생산된다. 연안에서는 멸치·밴댕이·장어·볼락·넙치·까나리·새우·굴 등이 어획된다. 주변 염전에서 소금이 생산되며, 미역·김·고막 양식이 활발하다. 특산물로는 까나리액젓이 있다.
원산도해수욕장은 모래가 깨끗하고 수온이 적당하여 여름철 피서객이 많이 찾는다. 교통은 대천항과 영목항에서 정기여객선이 운항된다. 교육기관으로는 광명초등학교와 원의중학교가 있다.