Le canton n° 21 (Sully-sur-Loire) comprend les communes suivantes : Bonnée, Les Bordes, Bray-Saint Aignan, Cerdon, Coullons, Dampierre-en-Burly, Germigny-des-Prés, Guilly, Isdes, Lion-en-Sullias, Neuvy-en-Sullias, Ouzouer-sur-Loire, Poilly-lez-Gien, Saint-Aignan-le-Jaillard, Saint-Benoît-sur-Loire, Saint-Brisson-sur-Loire, Saint-Florent, Saint-Gondon, Saint-Martin-sur-Ocre, Saint-Père-sur-Loire, Sully-sur-Loire, Viglain, Villemurlin.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Sully-sur-Loire.