La commune est située dans la forêt des Landes de Gascogne sur la rivière appelée le Ciron. Elle se trouve à 52 km au sud-sud-est de Bordeaux, chef-lieu du département et à 17 km au sud-ouest de Langon, chef-lieu d'arrondissement[3].
L'accès à l'autoroute A62 le plus proche est celui de 3 Langon distant de 16 km vers le nord-est. La desserte de l'autoroute A65 se fait au diffuseur de Bazas distant de 12 km vers l'est-sud-est.