| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density (/mi²) | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Georgetown | 1 | 55,815 | 54,372 | 0.24% | 1,683 | 33 | Township |
| Holland | 2 | 41,270 | 38,361 | 1% | 1,530 | 27 | Township |
| Holland | 3 | 35,533 | 34,347 | 0.46% | 2,099 | 17 | City |
| Allendale | 4 | 27,886 | 26,643 | 1.33% | 896 | 31 | Township |
| Grand Haven | 5 | 20,330 | 18,122 | 1.75% | 708 | 29 | Township |
| Park | 6 | 19,303 | 18,661 | 0.54% | 1,005 | 19 | Township |
| Spring Lake | 7 | 15,757 | 15,326 | 0.33% | 955 | 17 | Township |
| Zeeland | 8 | 12,351 | 12,031 | 0.37% | 359 | 34 | Township |
| Grand Haven | 9 | 11,044 | 11,006 | 0.05% | 1,929 | 6 | City |
| Jamestown | 10 | 10,952 | 9,719 | 2.34% | 309 | 35 | Township |
| Tallmadge | 11 | 9,212 | 8,854 | 0.26% | 286 | 32 | Township |
| Hudsonville | 12 | 8,046 | 7,623 | 1.03% | 1,953 | 4 | City |
| Blendon | 13 | 7,671 | 7,110 | 0.55% | 211 | 36 | Township |
| Robinson | 14 | 6,509 | 6,391 | 0.53% | 169 | 38 | Township |
| Zeeland | 15 | 5,616 | 5,738 | -0.37% | 1,878 | 3 | City |
| Port Sheldon | 16 | 5,577 | 5,065 | 1.77% | 250 | 22 | Township |
| Olive | 17 | 5,325 | 5,025 | 0.64% | 147 | 36 | Township |
| Crockery | 18 | 4,826 | 4,583 | 0.88% | 149 | 32 | Township |
| Coopersville | 19 | 4,802 | 4,809 | 0% | 998 | 5 | City |
| Wright | 20 | 3,189 | 3,193 | 0.13% | 88 | 36 | Township |
| Ferrysburg | 21 | 2,956 | 2,951 | 0.03% | 989 | 3 | City |
| Polkton | 22 | 2,620 | 2,591 | 0.15% | 67 | 39 | Township |
| Spring Lake | 23 | 2,497 | 2,539 | -0.28% | 1,999 | 1 | Village |
| Chester | 24 | 2,122 | 2,099 | 0.24% | 60 | 36 | Township |
| Holland | 25 | 225 | 217 | 0.9% | 6.0 | 36 | Township |
Georgetown is the largest city in Ottawa County, with a population of 55,815.
Holland is the smallest city in Ottawa County, with a population of 225.
There are 25 cities in Ottawa County, Michigan.