| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| McPherson | 1 | 13,886 | 14,069 | -0.23% | 1,696 | 8 | City |
| Lindsborg | 2 | 3,832 | 3,780 | 0.21% | 2,091 | 2 | City |
| Moundridge | 3 | 1,933 | 1,971 | -0.31% | 1,232 | 2 | City |
| Inman | 4 | 1,303 | 1,339 | -0.46% | 1,627 | 1 | City |
| Galva | 5 | 813 | 838 | -0.49% | 1,629 | 0 | City |
| Canton | 6 | 648 | 683 | -0.92% | 1,304 | 0 | City |
| Marquette | 7 | 585 | 604 | -0.51% | 1,214 | 0 | City |
| Smolan | 8 | 156 | 164 | -1.27% | 1,405 | 0 | City |
| Windom | 9 | 90 | 88 | 0% | 448 | 0 | City |
McPherson is the largest city in McPherson County, with a population of 13,886.
Windom is the smallest city in McPherson County, with a population of 90.
There are 9 cities in McPherson County, Kansas.