11 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Grafton | 1 | 3,962 | 4,157 | -0.8% | 1,200 | 3 | City |
| Park River | 2 | 1,345 | 1,417 | -0.88% | 519 | 3 | City |
| Minto | 3 | 603 | 617 | -0.33% | 420 | 1 | City |
| Hoople | 4 | 238 | 249 | -0.83% | 440 | 1 | City |
| Fordville | 5 | 198 | 206 | -0.5% | 196 | 1 | City |
| Edinburg | 6 | 189 | 197 | -0.53% | 596 | 0 | City |
| Adams | 7 | 120 | 125 | -0.83% | 123 | 1 | City |
| Forest River | 8 | 112 | 109 | 0.9% | 224 | 1 | City |
| Lankin | 9 | 101 | 106 | -0.98% | 352 | 0 | City |
| Pisek | 10 | 84 | 89 | -1.18% | 737 | 0 | City |
| Fairdale | 11 | 26 | 28 | 0% | 82 | 0 | City |
Grafton is the largest city in Walsh County, with a population of 3,962.
Fairdale is the smallest city in Walsh County, with a population of 26.
There are 11 cities in Walsh County, North Dakota.