Kommunen er avgrenset av Sognefjorden i nord, Nordsjøen i vest, Fensfjorden i sør og fjellene i Stølsheimen i øst. Det høyeste punktet er Svadfjellet 878 moh. De største øyene er Sandøyna, Hisarøyna, Byrknesøyna, Mjømna og Hille. Det er fem lengre fjorder i kommunen. Risnefjorden (arm av Sognefjorden), og Gulafjorden som deler seg i Nordgulfjorden, Austgulfjorden og Eidsfjorden.