25 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Georgetown charter | 1 | 55,948 | 54,376 | 0.36% | 1,687 | 33 | Township |
| Holland charter | 2 | 41,511 | 38,383 | 1.21% | 1,539 | 27 | Township |
| Holland | 3 | 35,359 | 34,350 | 0.48% | 2,089 | 17 | City |
| Allendale charter | 4 | 27,433 | 26,633 | 0.9% | 881 | 31 | Township |
| Grand Haven charter | 5 | 20,393 | 18,115 | 1.86% | 711 | 29 | Township |
| Park | 6 | 19,268 | 18,662 | 0.36% | 1,003 | 19 | Township |
| Spring Lake | 7 | 15,767 | 15,325 | 0.35% | 955 | 17 | Township |
| Zeeland charter | 8 | 12,429 | 12,031 | 0.68% | 362 | 34 | Township |
| Grand Haven | 9 | 11,060 | 11,015 | 0.07% | 1,932 | 6 | City |
| Jamestown charter | 10 | 11,004 | 9,700 | 2.52% | 311 | 35 | Township |
| Tallmadge charter | 11 | 9,261 | 8,857 | 0.52% | 288 | 32 | Township |
| Hudsonville | 12 | 8,155 | 7,645 | 1.05% | 1,980 | 4 | City |
| Blendon | 13 | 7,849 | 7,110 | 1.66% | 216 | 36 | Township |
| Robinson | 14 | 6,518 | 6,392 | 0.63% | 169 | 38 | Township |
| Zeeland | 15 | 5,596 | 5,718 | -0.36% | 1,871 | 3 | City |
| Port Sheldon | 16 | 5,474 | 5,065 | 0.74% | 245 | 22 | Township |
| Olive | 17 | 5,331 | 5,023 | 0.68% | 147 | 36 | Township |
| Coopersville | 18 | 4,868 | 4,832 | 0.12% | 1,012 | 5 | City |
| Crockery | 19 | 4,823 | 4,582 | 0.82% | 149 | 32 | Township |
| Wright | 20 | 3,189 | 3,194 | 0.06% | 88 | 36 | Township |
| Ferrysburg | 21 | 2,968 | 2,953 | 0.1% | 993 | 3 | City |
| Polkton charter | 22 | 2,595 | 2,573 | 0.08% | 66 | 39 | Township |
| Spring Lake | 23 | 2,495 | 2,539 | -0.28% | 1,998 | 1 | Village |
| Chester | 24 | 2,136 | 2,099 | 0.38% | 60 | 36 | Township |
| Holland | 25 | 224 | 219 | 0% | 6 | 36 | Township |
Georgetown charter is the largest city in Ottawa County, with a population of 55,948.
Holland is the smallest city in Ottawa County, with a population of 224.
There are 25 cities in Ottawa County, Michigan.