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.