16 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Marion | 1 | 17,068 | 16,831 | 0.28% | 1,185 | 14 | City |
| Herrin | 2 | 12,230 | 12,345 | -0.19% | 1,264 | 10 | City |
| Carterville | 3 | 5,812 | 5,856 | -0.15% | 1,097 | 5 | City |
| Marion | 4 | 3,838 | 3,904 | -0.52% | 86 | 45 | Township |
| Johnston City | 5 | 3,291 | 3,379 | -0.54% | 1,555 | 2 | City |
| Cambria | 6 | 1,853 | 1,551 | 3.35% | 1,310 | 1 | Village |
| Energy | 7 | 953 | 968 | -0.31% | 797 | 1 | Village |
| Hurst | 8 | 748 | 758 | -0.27% | 843 | 1 | City |
| Pittsburg | 9 | 559 | 569 | -0.36% | 271 | 2 | Village |
| Creal Springs | 10 | 496 | 505 | -0.4% | 483 | 1 | City |
| Freeman Spur | 11 | 270 | 275 | -0.37% | 677 | 0 | Village |
| Crab Orchard | 12 | 241 | 222 | -2.43% | 173 | 1 | CDP |
| Whiteash | 13 | 236 | 83 | 7.27% | 271 | 1 | CDP |
| Marion | 14 | 211 | 214 | 0% | 6 | 36 | Township |
| Spillertown | 15 | 176 | 180 | -0.56% | 548 | 0 | Village |
| Colp | 16 | 174 | 178 | -0.57% | 1,299 | 0 | Village |
Marion is the largest city in Williamson County, with a population of 17,068.
Colp is the smallest city in Williamson County, with a population of 174.
There are 16 cities in Williamson County, Illinois.