La commune est située aux confins du Massif central, dans la moyenne vallée de l'Hérault, au nord du département du même nom.
Le territoire de la commune se trouve dans une zone intramontagnarde formée par le prolongement de la montagne de la Séranne et de la montagne de la Cellette à quelques kilomètres des Garrigues de la plaine du Languedoc. Il est arrosé par l'Hérault et par le Verdus.
Le bourg, qui a conservé un aspect médiéval, est fortement investi par le commerce lié à l'activité touristique.