Le canton n° 20 (Terrasson-Lavilledieu) comprend les communes suivantes : Archignac, Borrèze, Calviac-en-Périgord, Carlux, Carsac-Aillac, La Cassagne, Cazoulès, Chavagnac, Coly, Condat-sur-Vézère, La Dornac, La Feuillade, Grèzes, Jayac, Nadaillac, Orliaguet, Paulin, Pazayac, Peyrillac-et-Millac, Prats-de-Carlux, Saint-Crépin-et-Carlucet, Saint-Geniès, Saint-Julien-de-Lampon, Sainte-Mondane, Salignac-Eyvigues, Simeyrols, Terrasson-Lavilledieu, Veyrignac.
Le bureau centralisateur de ce canton est le bureau centralisateur de la commune de Terrasson-Lavilledieu.