Le canton se trouve au nord-est de la Suisse. Il est limitrophe de cinq cantons, dont voici les noms : Thurgovie – Grisons – Glaris – Schwytz – Zurich.
Deux cantons sont enclavés dans le canton de Saint-Gall, il s’agit des deux cantons d’Appenzell Rhodes-Extérieures et Appenzell Rhodes-Intérieures.
Définition d’une enclave : c’est un territoire complètement entouré par une autre entité territoriale.
Il possède des frontières avec l’Autriche et le Liechtenstein.