Bex sits on the east side of the Rhone River in a wide valley surrounded on the east by the Bernese Alps and west by the Chablais Alps. The municipality is located in the Aigle district, along the Avançon river. It is the third largest municipality and stretches from the banks of the Rhone () to the Alps. It includes most of the highest mountains of the canton: Les Diablerets peak (), Grand Muveran, Dent Favre and Dent de Morcles. The municipality consists of the town of Bex and the hamlets of Le Châtel, Les Dévens, Le Chêne, Fenalet, Les Posses, Le Bévieux, Frenières and Les Plans-sur-Bex.