Commune située au confluent de l'Hérault et du Rieutord.
Elle est située à 45km au Nord de Montpellier et à 60km au Nord-Ouest de Nîmes ainsi qu'à 18km de la sous-prefecture du Gard Le Vigan.
La ville se trouve dans un bassin entouré par les premiers contreforts des Cévennes (Séranne, ...).