La commune est traversée par le canal latéral à la Garonne.
Elle est également desservie par la ligne de chemin de fer de Bordeaux à Sète et compte une gare ferroviaire. La commune dispose d'une infrastructure routière développée avec plusieurs routes départementales et nationales.