Giswil is located on the southern end of Lake Sarnen. It consists of the village sections of Grossteil, Kleinteil, Rudenz and Diechtersmatt, as well as scattered farm houses and Hamlets. To the south-west, the municipality rises up to the summits of the Giswilerstock, Brienzer Rothorn, Arnihaaggen and Hoch Gumme.
Giswil has an area, as of 2006, of 85.9 square kilometers (33.2 sq mi). Of this area, 35.9% is used for agricultural purposes, while 53.3% is forested.
Giswil is served by Giswil Stations on the Brünig line, an inter-regional narrow-gauge railway from Interlaken to Lucerne. The hourly InterRegio train between Interlaken and Lucerne stops at the station, which is also the terminus of the half-hourly Lucerne S-Bahn S5 service from Lucerne.
The main sights of Giswil are: two ruins (Rosenberg and Rudenz) and the traditional farmhouses in the scattered settlement Grossteil.