Ce canton comprend les communes suivantes :
Boisset, Fournoulès, Leynhac, Marcolès, Maurs, Montmurat, Mourjou, Quézac, Roannes-Saint-Mary, Rouziers, Saint-Antoine, Saint-Constant, Saint-Étienne-de-Maurs, Saint-Julien-de-Toursac, Saint-Mamet-la-Salvetat, Saint-Santin-de-Maurs, Sansac-de-Marmiesse, Le Trioulou, Vitrac