동경 127°49′, 북위 34°28′에 위치한다. 여수에서 서남쪽으로 22㎞, 상화도에서 남동쪽으로 1㎞ 지점에 있다.면적은 0.71㎢이고, 해안선 길이는 6.4㎞이다.
백야도 남서쪽에 있는 2개의 섬을 화도라 부른다. 진달래꽃(야생화)이 많아 꽃섬이라고 부르게 되었다고 한다. 위쪽에 있는 섬을 상화도이고, 아래쪽에 있는 섬이 하화도이다.
지질은 대부분 중성화산암류로 이루어져 있다. 구두같은 모양의 섬으로 비교적 완만한 경사의 산지(최고 높이 118m)로 되어 있다. 해안은 대부분 암석해안이다. 특히 남쪽 해안 일대는 경사가 급하며, 높은 해식애가 발달된 곳도 있다. 1월 평균기온은 2.1℃, 8월 평균기온은 24.7℃, 연강수량은 1,247㎜이다.
2009년 기준으로 인구는 85명(남 42명, 여 43명)이 거주하고 있으며, 세대수는 34세대이다. 취락은 북쪽 해안의 만입에 위치한 선착장을 중심으로 형성되어 있다. 토지이용 현황은 논은 없고 밭 0.29㎢, 임야 0.41㎢이다. 주민들은 대부분 농업과 어업을 겸하고 있다.
대표적인 농산물은 맥주보리와 고구마이고 무·콩·마늘 등이 소량 산출된다. 근해에서 멸치·장어·문어 등이 어획되며 김 양식도 행해진다. 교통은 여수 중앙동 여객선터미널과 화정면 백야항에서 정기여객선이 운항된다.