Le canton n° 21 (Saint-Hilaire-du-Harcouët) comprend les communes suivantes : Argouges, Buais, Carnet, Chèvreville, La Croix-Avranchin, Hamelin, Lapenty, Les Loges-Marchis, Martigny, Le Mesnillard, Milly, Montanel, Montjoie-Saint-Martin, Moulines, Parigny, Saint-Aubin-de-Terregatte, Saint-Brice-de-Landelles, Saint-Hilaire-du-Harcouët, Saint-James, Saint-Laurent-de-Terregatte, Saint-Martin-de-Landelles, Saint-Senier-de-Beuvron, Saint-Symphorien-des-Monts, Savigny-le-Vieux, Vergoncey, Villiers-le-Pré, Virey.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Saint-Hilaire-du-Harcouët.