Le canton n° 12 (Le Puy-en-Velay-1) comprend :
1° Les communes suivantes : Ceyssac, Espaly-Saint-Marcel, Vals-près-le-Puy ;
2° La partie de la commune du Puy-en-Velay située à l'ouest d'une ligne définie par l'axe des voies et limites suivantes : à partir de la limite territoriale de la commune de la commune de Cussac-sur-Loire, route nationale 88, avenue Baptiste-Marcet, avenue du Maréchal-Foch, avenue du Val-Vert, chemin du Chèvrefeuille jusqu'à la rue Centrale, axe de la rivière le Dolaizon, boulevard du Président-Bertrand, avenue André-Soulier, cours Victor-Hugo, place Michelet, rue Crozatier, rue Chaussade, place du Martouret, rue Courrerie, place du Plot, rue Pannessac, tour Pannessac, rue Ronzon, ligne de chemin de fer, jusqu'à la limite territoriale de la commune d'Espaly-Saint-Marcel.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune du Puy-en-Velay.