| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Harlan | 1 | 4,860 | 4,891 | 0.02% | 1,100 | 4 | City |
| Elk Horn | 2 | 624 | 600 | 0.81% | 851 | 1 | City |
| Earling | 3 | 386 | 394 | -0.26% | 615 | 1 | City |
| Irwin | 4 | 314 | 319 | -0.32% | 536 | 1 | City |
| Defiance | 5 | 241 | 246 | -0.41% | 646 | 0 | City |
| Panama | 6 | 231 | 233 | 0% | 797 | 0 | City |
| Portsmouth | 7 | 186 | 187 | 0% | 606 | 0 | City |
| Westphalia | 8 | 132 | 130 | 0% | 1,347 | 0 | City |
| Tennant | 9 | 82 | 78 | 1.23% | 114 | 1 | City |
| Kirkman | 10 | 56 | 55 | 0% | 218 | 0 | City |
Harlan is the largest city in Shelby County, with a population of 4,860.
Kirkman is the smallest city in Shelby County, with a population of 56.
There are 10 cities in Shelby County, Iowa.