22 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Harlan | 1 | 4,899 | 4,888 | 0.02% | 1,108 | 4 | City |
| Harlan | 2 | 4,899 | 4,891 | 0.02% | 1,108 | 4 | City |
| Elk Horn | 3 | 638 | 601 | 1.11% | 870 | 1 | City |
| Elk Horn | 4 | 638 | 601 | 1.11% | 870 | 1 | City |
| Earling | 5 | 394 | 396 | 0% | 627 | 1 | City |
| Earling | 6 | 394 | 394 | 0% | 627 | 1 | City |
| Irwin | 7 | 320 | 321 | 0% | 546 | 1 | City |
| Irwin | 8 | 320 | 320 | 0% | 546 | 1 | City |
| Defiance | 9 | 247 | 250 | -0.4% | 662 | 0 | City |
| Defiance | 10 | 247 | 249 | -0.4% | 662 | 0 | City |
| Panama | 11 | 234 | 234 | 0% | 807 | 0 | City |
| Panama | 12 | 234 | 233 | 0% | 807 | 0 | City |
| Portsmouth | 13 | 187 | 187 | 0% | 609 | 0 | City |
| Portsmouth | 14 | 187 | 186 | 0% | 609 | 0 | City |
| Westphalia | 15 | 133 | 131 | 0% | 1,357 | 0 | City |
| Westphalia | 16 | 133 | 130 | 0% | 1,357 | 0 | City |
| Tennant | 17 | 84 | 79 | 1.2% | 117 | 1 | City |
| Tennant | 18 | 84 | 79 | 1.2% | 117 | 1 | City |
| Kirkman | 19 | 60 | 58 | 0% | 233 | 0 | City |
| Kirkman | 20 | 60 | 58 | 0% | 233 | 0 | City |
| Corley | 21 | 8 | 7 | 14.29% | 133 | 0 | CDP |
| Jacksonville | 22 | 5 | 10 | 0% | 51 | 0 | CDP |
Harlan is the largest city in Shelby County, with a population of 4,899.
Jacksonville is the smallest city in Shelby County, with a population of 5.
There are 22 cities in Shelby County, Iowa.