À environ 3 km au sud de la ville de St-Claude, la commune se situe à une altitude moyenne de 559 m, avec un point bas à 430 m au confluent du Tacon et du Grosdard, et un point haut à 1089 m près de Roche Blanche.
Elle s'étend sur une superficie de 9 km² dans la vallée du Tacon, allant du Mont Chabot au Surmontant à l'ouest et du bord du haut plateau des Hautes-Combes à l'est. Le Tacon traverse la commune et est rejoint par le Flumen. La partie basse des Gorges du Flumen fait partie également de la commune et est accessible depuis le hameau du Martinet.