Le canton n° 12 (Pons) comprend les communes suivantes : Avy, Belluire, Biron, Bois, Boisredon, Bougneau, Chadenac, Champagnolles, Courpignac, Echebrune, Fléac-sur-Seugne, Givrezac, Lorignac, Marignac, Mazerolles, Mirambeau, Mosnac, Plassac, Pons, Saint-Bonnet-sur-Gironde, Saint-Ciers-du-Taillon, Saint-Dizant-du-Gua, Saint-Fort-sur-Gironde, Saint-Genis-de-Saintonge, Saint-Georges-des-Agoûts, Saint-Germain-du-Seudre, Saint-Grégoire-d'Ardennes, Saint-Léger, Saint-Martial-de-Mirambeau, Saint-Palais-de-Phiolin, Saint-Quantin-de-Rançanne, Saint-Seurin-de-Palenne, Saint-Sorlin-de-Conac, Saint-Thomas-de-Conac, Sainte-Ramée, Salignac-de-Mirambeau, Semillac, Semoussac, Soubran.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Pons.