Saint-Didier-en-Velay se situe dans le Massif Central à l’Est du Velay. Elle fait partie de la Région Auvergne‐Rhône‐Alpes et se situe au Nord‐Est du département de la Haute‐Loire.
A plus petite échelle, Saint Didier‐en‐Velay se situe dans l’arrondissement d’Yssingeaux et dans le canton des Deux Rivières et Vallées. Elle fait partie de la Communauté de Communes Loire-Semène.
La commune est traversée par la RD500.
D’une superficie de 2 633 ha, la commune compte 3 496 habitants (chiffre INSEE décembre 2020).
L’altitude maximale se situe à l’Est du territoire au Grand Suc à 924 m d’altitude et l’altitude la plus faible se situe au niveau de la Semène, au Nord du Crouzet, à 630 m d’altitude. L’altitude moyenne est de 780 m.