| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Velva | 1 | 1,035 | 1,096 | -1.05% | 1,074 | 1 | City |
| Towner | 2 | 449 | 477 | -1.1% | 543 | 1 | City |
| Drake | 3 | 273 | 292 | -1.44% | 138 | 2 | City |
| Granville | 4 | 229 | 237 | -0.87% | 722 | 0 | City |
| Anamoose | 5 | 214 | 223 | -0.93% | 343 | 1 | City |
| Upham | 6 | 129 | 134 | -0.77% | 416 | 0 | City |
| Deering | 7 | 92 | 93 | -1.08% | 1,095 | 0 | City |
| Karlsruhe | 8 | 85 | 88 | -1.16% | 113 | 1 | City |
| Voltaire | 9 | 42 | 45 | -2.33% | 86 | 0 | City |
| Balfour | 10 | 15 | 17 | -6.25% | 27 | 1 | City |
| Bergen | 11 | 11 | 13 | -8.33% | 15 | 1 | City |
| Kief | 12 | 7 | 7 | 0% | 6.0 | 1 | City |
Velva is the largest city in McHenry County, with a population of 1,035.
Kief is the smallest city in McHenry County, with a population of 7.
There are 12 cities in McHenry County, North Dakota.