동경 126°32′, 북위 34°46′에 위치한다. 무녀도(巫女島)에서 남쪽으로 1.5㎞, 군산에서 남서쪽으로 35.4㎞ 지점에 있다. 면적은 1.63㎢이고, 해안선 길이는 6.6㎞이다. 지명은 섬의 모양이 날아가는 기러기처럼 생겨 비안도라 부르게 되었다고 한다.
고려 말부터 귀양지로 정착하였으나, 조선 중기부터는 어업을 생업으로 하는 집단촌락을 형성하였다. 본래 전라남도 지도군 고군산면 소속이었으나 1914년 행정구역 개편으로 전라북도 옥구군에 편입되었다. 1995년에 옥구군과 군산시가 통합되면서 전라북도(현, 전북특별자치도) 군산시 옥도면 비안도리가 되었다.
지질은 중생대 백악기에 속하는 화산성퇴적암류(火山性堆積巖類)로 변산반도 서쪽 해안과 같은 단사구조(單斜構造)이다. 북쪽에 노비봉(老妃峰, 191m)이 있다. 동쪽 해안에는 간석지가 발달하였으며 서쪽 해안에는 파도의 퇴적작용으로 평탄면을 이룬 파적대가 형성되어 있다. 해안에 연해서 좁게 발달한 파적대는 멸치 등의 건조장과 논으로 이용된다. 1월 평균기온은 -0.1℃, 8월 평균기온은 25.0℃, 연강수량은 1,028㎜이다.
2010년 기준으로 인구는 358명(남 195명, 여 163명)이 거주하고 있으며, 세대수는 160세대이다. 취락은 섬의 동쪽 해안 중앙부에 집중해 있다. 토지이용 현황은 논 0.06㎢, 밭 0.15㎢, 임야 1.21㎢이다.
주민들의 생업은 농업보다 어업이 중심을 이룬다. 주요 농산물로는 쌀 · 보리 · 고구마 등이 생산되고, 주요 수산물로는 멸치 · 오징어 · 전복 · 해삼 등이 어획된다. 교육기관으로는 비안도초등학교가 있다.