26 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Windom | 1 | 4,790 | 4,810 | -0.06% | 1,170 | 4 | City |
| Mountain Lake | 2 | 1,916 | 1,999 | -0.73% | 1,116 | 2 | City |
| Westbrook | 3 | 721 | 759 | -0.83% | 1,076 | 1 | City |
| Windom | 4 | 551 | 523 | 1.47% | 15 | 36 | Township |
| Jeffers | 5 | 331 | 352 | -0.9% | 853 | 0 | City |
| Mountain Lake | 6 | 306 | 315 | -0.65% | 9 | 36 | Township |
| Great Bend | 7 | 299 | 310 | -0.66% | 10 | 31 | Township |
| Carson | 8 | 269 | 279 | -0.74% | 8 | 35 | Township |
| Lakeside | 9 | 235 | 244 | -0.84% | 7 | 33 | Township |
| Midway | 10 | 221 | 226 | 0% | 6 | 34 | Township |
| Storden | 11 | 209 | 223 | -0.95% | 946 | 0 | City |
| Westbrook | 12 | 199 | 201 | 0.51% | 6 | 35 | Township |
| Selma | 13 | 167 | 172 | -0.6% | 5 | 36 | Township |
| Germantown | 14 | 166 | 171 | -0.6% | 5 | 36 | Township |
| Storden | 15 | 166 | 167 | 0.61% | 5 | 36 | Township |
| Ann | 16 | 151 | 158 | -0.66% | 4 | 36 | Township |
| Highwater | 17 | 145 | 145 | 0.69% | 4 | 36 | Township |
| Dale | 18 | 143 | 143 | 0.7% | 4 | 36 | Township |
| Bingham Lake | 19 | 134 | 130 | 0.75% | 168 | 1 | City |
| Rose Hill | 20 | 122 | 128 | -0.81% | 3 | 36 | Township |
| Delton | 21 | 120 | 126 | -0.83% | 3 | 36 | Township |
| Amo | 22 | 114 | 120 | -0.87% | 3 | 35 | Township |
| Dundee | 23 | 81 | 74 | 1.25% | 264 | 0 | City |
| Southbrook | 24 | 72 | 74 | 0% | 2 | 34 | Township |
| Wilder | 25 | 56 | 58 | 0% | 71 | 1 | City |
| Kinbrae | 26 | 10 | 10 | 0% | 12 | 1 | City |
Windom is the largest city in Cottonwood County, with a population of 4,790.
Kinbrae is the smallest city in Cottonwood County, with a population of 10.
There are 26 cities in Cottonwood County, Minnesota.