3 cities
| City | Rank | 2026 Pop. ↓ | 2020 Pop. | Annual Change | Density | Area (mi²) | Type |
|---|---|---|---|---|---|---|---|
| Hannibal | 1 | 16,677 | 17,073 | -0.39% | 1,042 | 16 | City |
| Palmyra | 2 | 3,656 | 3,619 | 0.16% | 1,178 | 3 | City |
| Rensselaer | 3 | 254 | 251 | 0.4% | 130 | 2 | Village |
Hannibal is the largest city in Marion County, with a population of 16,677.
Rensselaer is the smallest city in Marion County, with a population of 254.
There are 3 cities in Marion County, Missouri.