La commune (47°38′24″N 02°56′54″O ) est située au confluent de la rivière d’Auray et de la rivière du Bono qui se jettent dans le golfe du Morbihan. Couvrant une surface de seulement 596 hectares, la commune du Bono est de taille inférieure à la moyenne des communes françaises (1 488 hectares).