Établie à 680 m d'altitude, la gare de Marvejols est située au PK 620,290 de la ligne de Béziers à Neussargues (Ligne des Causses)