Sēlijas dienvidaustrumu daļa bija sena latviešu, lietuviešu un baltkrievu mijiedarbības zona, kurā 17. gs. karu un dažādu sabiedrisku pārmaiņu laikā ieceļoja krievu vecticībnieki un ebreji, bet 19. gs. – arī pareizticīgie krievi. Līdz Otrajam pasaules karam Sēlijas ziemeļrietumu daļā, ieskaitot Ilūkstes apriņķa Lašu, Pilskalnes un Sventes pagastus, vairums iedzīvotāju bija latvieši. Turpretī Lietuvas un Polijas pierobežas pagastos dzīvoja daudz baltkrievu, krievu, poļu, lietuviešu un ebreju. Latvieši veidoja 52 % no Ilūkstes apriņķa iedzīvotāju kopskaita, krievi 18 %, poļi 11 %, baltkrievi 9 %, lietuvieši 6 %, bet ebreji 2 %.
20. gs. kari un padomju okupācija būtiski mainīja Sēlijas etnisko sastāvu. Holokausta dēļ Sēlijā pazuda ebreju minoritāte, deportāciju un izceļošanas dēļ samazinājās latviešu īpatsvars, 1949. gada 25. marta deportācijā no Sēlijas izsūtīja vairāk nekā 3000 cilvēku (no Jēkabpils apriņķa 1595, no Ilūkstes apriņķa 1430). Pēc deportācijas norisinājās kolektivizācijas un industrializācijas kampaņas, kuru dēļ pieauga krievu īpatsvars. Piemēram, lielākajā pilsētā Jēkabpilī latviešu īpatsvars no 79 % 1935. gadā saruka līdz 50 % 1989. gadā, bet pēc neatkarības atjaunošanas atkal pieauga līdz 63,5 % 2022. gadā. Latviešu īpatsvara pieaugums 21. gs. vērojams arī visos nelielajos Sēlijas novados un attīstības centros. Pēc oficiālās statistikas datiem, 2021. gadā vislielākais latviešu īpatsvars bija Jēkabpils novadā (88,4 %), Jaunjelgavas novadā (82,6 %), Salas novadā (81,9 %), Aknīstes novadā (81,3 %), Viesītes novadā (79,7 %), Neretas novadā (77,9 %), Ilūkstes novadā 67,1 %. Turpretī Daugavpils novadā abos Daugavas krastos saglabājās ļoti daudzveidīgs iedzīvotāju etniskais sastāvs: lielākās grupas bija krievi (40,7 %), latvieši (35,1 %), poļi (11,6 %) un baltkrievi (6,5 %).
Depopulācijas un migrācijas dēļ Sēlijā 21. gs. notiek intensīva iedzīvotāju nomaiņa. Pēc oficiālās statistikas, 2024. gadā no Aizkraukles novada iedzīvotājiem tikai 43 % bija tur dzīvojuši 2000. gadā (šajā laikā 30 % bija nomiruši, 23 % piedzimuši, 10 % devušies uz ārzemēm), Jēkabpils novadā bija saglabājušies 44 % iedzīvotāju (32 % bija nomiruši, 24 % piedzimuši, 10 % devušies uz ārzemēm), savukārt Augšdaugavas novadā bija saglabājušies tikai 34 % iedzīvotāju (35 % šajā laikā bija nomiruši, 18 % piedzimuši, 13 % devušies uz ārzemēm).