32 cities
| City | Rank | 2025 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Sigourney | 1 | 1,967 | 2,006 | -0.35% | 909 | 2 | City |
| Sigourney | 2 | 1,967 | 2,001 | -0.35% | 909 | 2 | City |
| Keota | 3 | 886 | 898 | -0.23% | 1,146 | 1 | City |
| Keota | 4 | 886 | 896 | -0.23% | 1,146 | 1 | City |
| Hedrick | 5 | 713 | 731 | -0.56% | 458 | 2 | City |
| Hedrick | 6 | 713 | 730 | -0.56% | 458 | 2 | City |
| What Cheer | 7 | 592 | 607 | -0.5% | 479 | 1 | City |
| What Cheer | 8 | 592 | 606 | -0.5% | 479 | 1 | City |
| Richland | 9 | 531 | 537 | -0.19% | 514 | 1 | City |
| Richland | 10 | 531 | 536 | -0.19% | 514 | 1 | City |
| Delta | 11 | 256 | 262 | -0.39% | 267 | 1 | City |
| Delta | 12 | 256 | 261 | -0.39% | 267 | 1 | City |
| Keswick | 13 | 236 | 244 | -0.84% | 529 | 0 | City |
| Keswick | 14 | 236 | 243 | -0.84% | 529 | 0 | City |
| Ollie | 15 | 194 | 201 | -1.02% | 195 | 1 | City |
| Ollie | 16 | 194 | 201 | -1.02% | 195 | 1 | City |
| South English | 17 | 194 | 201 | -1.02% | 618 | 0 | City |
| South English | 18 | 194 | 201 | -1.02% | 618 | 0 | City |
| Harper | 19 | 116 | 119 | -0.85% | 1,318 | 0 | City |
| Harper | 20 | 116 | 119 | -0.85% | 1,318 | 0 | City |
| Martinsburg | 21 | 108 | 110 | -0.92% | 289 | 0 | City |
| Martinsburg | 22 | 108 | 110 | -0.92% | 289 | 0 | City |
| Webster | 23 | 93 | 95 | -1.06% | 341 | 0 | City |
| Webster | 24 | 93 | 95 | -1.06% | 341 | 0 | City |
| Kinross | 25 | 79 | 81 | -1.25% | 418 | 0 | City |
| Kinross | 26 | 79 | 81 | -1.25% | 418 | 0 | City |
| Gibson | 27 | 57 | 59 | -1.72% | 905 | 0 | City |
| Gibson | 28 | 57 | 59 | -1.72% | 905 | 0 | City |
| Thornburg | 29 | 45 | 47 | -2.17% | 226 | 0 | City |
| Thornburg | 30 | 45 | 47 | -2.17% | 226 | 0 | City |
| Hayesville | 31 | 42 | 44 | -2.33% | 168 | 0 | City |
| Hayesville | 32 | 42 | 44 | -2.33% | 168 | 0 | City |
Sigourney is the largest city in Keokuk County, with a population of 1,967.
Hayesville is the smallest city in Keokuk County, with a population of 42.
There are 32 cities in Keokuk County, Iowa.