동경 126°17′, 북위 37°08′에 위치하며, 대부도에서 남서쪽으로 17㎞, 안산시에서는 44.5㎞ 지점에 있다. 면적은 1.84㎢이고, 해안선길이는 5.5㎞이다. 직선거리로는 충청남도 당진시 석문면이 가장 가까운 육지이다.
섬 주변에 수산자원이 풍부하여 풍도라 부르게 되었다 한다. 1914년 이전에는 ‘단풍나무 풍(楓)자’를 써서 풍도(楓島)라고 하였다가, 1914년의 행정구역 개편으로 부천군에 편입되면서부터 현재의 풍도(豊島)로 표기되기 시작하였다.
섬의 모양은 대체로 타원형이며, 해안선이 지극히 단조롭고 산지(최고 높이 176m)가 많다. 동북쪽과 서북쪽에 약간의 완경사지가 형성되어 있는 정도이다. 해안은 대부분 암석해안으로 이루어져 있다. 1월 평균기온 -2.6℃, 8월 평균기온 25.7℃, 연강수량 1,541㎜이다.
본래 남양군 대부면에 속하였다가 1914년의 행정구역 개편으로 부천군에 편입되었다. 1973년에는 옹진군에 이속되었으며 1994년 9월에 경기도 안산시에 편입되었다.
2011년 기준으로 풍도동의 인구는 95세대에 169명이 거주하고 있다. 취락은 섬의 동북쪽 해안가에 집중해 있다. 주민들은 대부분 농업과 어업에 종사하고 있다. 토지이용 현황은 논은 없고 밭 0.02㎢, 임야 1.18㎢이다. 주요 농산물로는 쌀·콩·감자·땅콩 등이 생산된다. 근해에서 조기·민어·새우·갈치 등이 잡히며, 굴양식장에서 굴을 채취한다.
교육기관으로는 대남초등학교 풍도분교장이 있다. 인천에서 풍도로 여객선이 운항한다. 풍도에는 은행나무 전설이 전해진다. 은행나무는 661년(신라, 문무왕 1) 소정방(蘇定方)이 백제를 멸망시키고 당나라로 돌아가던 중 풍도의 경치에 반하여 머물며 심었다는 전설과 조선 중기 인조(仁祖)가 이괄(李适)의 난을 피하여 한양에서 공주로 파천(播遷)할 때 들러 심었다는 전설이 있다.