Hannibal is a city located in Missouri. With a 2020 population of 17,367, it is the 42nd largest city in Missouri and the 2075th largest city in the United States. Hannibal is currently declining at a rate of -0.48% annually and its population has decreased by -3.06% since the most recent census, which recorded a population of 17,916 in 2010. Hannibal reached it's highest population of 22,761 in 1930. Spanning over 16 miles, Hannibal has a population density of 1,086 people per square mile.
The average household income in Hannibal is $53,072 with a poverty rate of 20.70%. The median rental costs in recent years comes to $687 per month, and the median house value is $103,000. The median age in Hannibal is 37.2 years, 36.3 years for males, and 38 years for females. For every 100 females there are 93.6 males.