
Hannibal
- County:
- Marion County
- County Seat:
- No
- Area (mi²):
- 16.002
- State:
- Missouri
Hannibal is a city located in Marion County, Missouri. Hannibal has a 2025 population of 16,684. Hannibal is currently declining at a rate of -0.46% annually and its population has decreased by -2.26% since the most recent census, which recorded a population of 17,069 in 2020.
The average household income in Hannibal is $69,041 with a poverty rate of 17.29%. The median age in Hannibal is 38.3 years: 36.5 years for males, and 40.4 years for females.