16 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Sigourney | 1 | 1,960 | 2,001 | -0.36% | 906 | 2 | City |
| Keota | 2 | 884 | 896 | -0.23% | 1,144 | 1 | City |
| Hedrick | 3 | 710 | 730 | -0.42% | 456 | 2 | City |
| What Cheer | 4 | 589 | 606 | -0.51% | 476 | 1 | City |
| Richland | 5 | 530 | 536 | -0.19% | 513 | 1 | City |
| Delta | 6 | 255 | 261 | -0.39% | 266 | 1 | City |
| Keswick | 7 | 235 | 243 | -0.42% | 527 | 0 | City |
| Ollie | 8 | 193 | 201 | -0.52% | 194 | 1 | City |
| South English | 9 | 193 | 201 | -0.52% | 615 | 0 | City |
| Harper | 10 | 116 | 119 | 0% | 1,318 | 0 | City |
| Martinsburg | 11 | 108 | 110 | 0% | 289 | 0 | City |
| Webster | 12 | 93 | 95 | 0% | 341 | 0 | City |
| Kinross | 13 | 79 | 81 | 0% | 418 | 0 | City |
| Gibson | 14 | 57 | 59 | 0% | 905 | 0 | City |
| Thornburg | 15 | 45 | 47 | 0% | 226 | 0 | City |
| Hayesville | 16 | 42 | 44 | 0% | 168 | 0 | City |
Sigourney is the largest city in Keokuk County, with a population of 1,960.
Hayesville is the smallest city in Keokuk County, with a population of 42.
There are 16 cities in Keokuk County, Iowa.