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.
Data after 2023 is projected based on recent change
The racial composition of Hannibal includes 86.07% White, 7.59% Black or African American, and smaller percentages for other race, Asian, Native Hawaiian or Pacific Islander, Native American and multiracial populations.
Race | Population | Percentage (of total) |
---|---|---|
White | 14,482 | 86.07% |
Black or African American | 1,277 | 7.59% |
Two or more races | 898 | 5.34% |
Other race | 85 | 0.51% |
Asian | 69 | 0.41% |
Native Hawaiian or Pacific Islander | 8 | 0.05% |
Native American | 6 | 0.04% |
Married
Widowed
Divorced
Separated
Never Married
Hannibal's average per capita income is $37,273. Household income levels show a median of $54,071. The poverty rate stands at 17.29%.
Name | Median | Mean |
---|---|---|
Married Families | $86,228 | - |
Families | $67,355 | $78,064 |
Households | $54,071 | $69,041 |
Non Families | $30,608 | $49,656 |
Average Income
Median Household Income
Poverty Rate