28 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Edwardsville | 1 | 26,666 | 26,813 | -0.09% | 1,335 | 20 | City |
| Granite City | 2 | 26,522 | 27,517 | -0.62% | 1,395 | 19 | City |
| Alton | 3 | 24,632 | 25,636 | -0.67% | 1,572 | 16 | City |
| Collinsville | 4 | 23,465 | 24,368 | -0.64% | 1,520 | 15 | City |
| Godfrey | 5 | 17,509 | 17,812 | -0.28% | 509 | 34 | Village |
| Glen Carbon | 6 | 13,897 | 13,855 | 0.05% | 1,347 | 10 | Village |
| Troy | 7 | 11,988 | 11,454 | 0.75% | 1,921 | 6 | City |
| Wood River | 8 | 10,158 | 10,436 | -0.45% | 1,456 | 7 | City |
| Highland | 9 | 10,002 | 10,079 | -0.13% | 1,398 | 7 | City |
| Bethalto | 10 | 9,119 | 9,311 | -0.35% | 1,201 | 8 | Village |
| Maryville | 11 | 8,397 | 8,262 | 0.27% | 1,448 | 6 | Village |
| Pontoon Beach | 12 | 5,839 | 5,857 | -0.05% | 594 | 10 | Village |
| East Alton | 13 | 5,547 | 5,768 | -0.66% | 1,043 | 5 | Village |
| Madison | 14 | 3,021 | 3,137 | -0.63% | 214 | 14 | City |
| Washington Park | 15 | 2,435 | 2,573 | -0.94% | 954 | 3 | Village |
| Fairmont City | 16 | 2,126 | 2,255 | -0.98% | 343 | 6 | Village |
| South Roxana | 17 | 1,830 | 1,887 | -0.49% | 848 | 2 | Village |
| Venice | 18 | 1,433 | 1,490 | -0.62% | 775 | 2 | City |
| Roxana | 19 | 1,387 | 1,449 | -0.72% | 194 | 7 | Village |
| St. Jacob | 20 | 1,364 | 1,375 | -0.15% | 1,610 | 1 | Village |
| Hartford | 21 | 1,135 | 1,186 | -0.7% | 218 | 5 | Village |
| Worden | 22 | 1,058 | 1,093 | -0.56% | 1,484 | 1 | Village |
| Marine | 23 | 993 | 909 | 1.43% | 1,409 | 1 | Village |
| Hamel | 24 | 924 | 930 | -0.11% | 776 | 1 | Village |
| Livingston | 25 | 741 | 764 | -0.54% | 713 | 1 | Village |
| Alhambra | 26 | 595 | 615 | -0.5% | 787 | 1 | Village |
| New Douglas | 27 | 336 | 345 | -0.3% | 321 | 1 | Village |
| Sauget | 28 | 132 | 138 | -0.75% | 29 | 5 | Village |
Edwardsville is the largest city in Madison County, with a population of 26,666.
Sauget is the smallest city in Madison County, with a population of 132.
There are 28 cities in Madison County, Illinois.