La ville est située sur le Furan (ou Furens), au pied du massif du Pilat, à environ au sud-ouest de Lyon et de Vienne. Le Puy-en-Velay est à et à l'ouest Clermont-Ferrand est distant de . Paris à et Marseille à 