45 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 |
| Grafton | 4 | 265 | 279 | -0.75% | 8 | 34 | Township |
| Hoople | 5 | 238 | 249 | -0.83% | 440 | 1 | City |
| Kensington | 6 | 236 | 249 | -0.84% | 7 | 33 | Township |
| Fertile | 7 | 221 | 234 | -0.9% | 6 | 36 | Township |
| Fordville | 8 | 198 | 206 | -0.5% | 196 | 1 | City |
| Oakwood | 9 | 194 | 201 | -0.51% | 6 | 33 | Township |
| Edinburg | 10 | 189 | 197 | -0.53% | 596 | 0 | City |
| Glenwood | 11 | 156 | 162 | -0.64% | 4 | 36 | Township |
| Walsh Centre | 12 | 138 | 143 | -0.72% | 4 | 36 | Township |
| Farmington | 13 | 122 | 127 | -0.81% | 3 | 36 | Township |
| Adams | 14 | 120 | 125 | -0.83% | 123 | 1 | City |
| Forest River | 15 | 112 | 109 | 0.9% | 224 | 1 | City |
| Lankin | 16 | 101 | 106 | -0.98% | 352 | 0 | City |
| Harriston | 17 | 99 | 112 | -3.88% | 3 | 34 | Township |
| Dundee | 18 | 96 | 101 | -1.03% | 3 | 36 | Township |
| Lampton | 19 | 96 | 101 | -1.03% | 3 | 36 | Township |
| Acton | 20 | 93 | 98 | -1.06% | 2 | 38 | Township |
| Prairie Centre | 21 | 85 | 90 | -1.16% | 2 | 36 | Township |
| Pisek | 22 | 84 | 89 | -1.18% | 737 | 0 | City |
| Golden | 23 | 79 | 84 | -1.25% | 2 | 36 | Township |
| Ardoch | 24 | 77 | 79 | 0% | 2 | 34 | Township |
| Rushford | 25 | 76 | 81 | -1.3% | 2 | 36 | Township |
| Vernon | 26 | 72 | 74 | 0% | 2 | 36 | Township |
| Medford | 27 | 69 | 71 | 0% | 2 | 35 | Township |
| Walshville | 28 | 69 | 71 | 0% | 2 | 33 | Township |
| Forest River | 29 | 68 | 70 | 0% | 2 | 36 | Township |
| Pulaski | 30 | 67 | 71 | -1.47% | 2 | 34 | Township |
| Tiber | 31 | 53 | 57 | -1.85% | 1 | 36 | Township |
| Norton | 32 | 50 | 54 | -1.96% | 1 | 36 | Township |
| Eden | 33 | 41 | 42 | 0% | 1 | 36 | Township |
| Ops | 34 | 39 | 40 | 0% | 1 | 36 | Township |
| Adams | 35 | 36 | 37 | 0% | 1 | 34 | Township |
| Latona | 36 | 36 | 37 | 0% | 1 | 35 | Township |
| St. Andrews | 37 | 34 | 35 | 0% | 1 | 36 | Township |
| Silvesta | 38 | 34 | 35 | 0% | 1 | 35 | Township |
| Vesta | 39 | 34 | 35 | 0% | 1 | 36 | Township |
| Kinloss | 40 | 33 | 34 | 0% | 1 | 35 | Township |
| Shepherd | 41 | 27 | 28 | 0% | 1 | 35 | Township |
| Dewey | 42 | 26 | 27 | 0% | 1 | 36 | Township |
| Fairdale | 43 | 26 | 28 | 0% | 82 | 0 | City |
| Minto | 44 | 22 | 23 | 0% | 1 | 35 | Township |
| Sauter | 45 | 20 | 23 | -4.76% | 1 | 35 | Township |
Grafton is the largest city in Walsh County, with a population of 3,962.
Sauter is the smallest city in Walsh County, with a population of 20.
There are 45 cities in Walsh County, North Dakota.