Hannibal is located in Ohio. Hannibal, Ohio has a population of 352. Hannibal is less family-centric than the surrounding county with 0% of the households containing married families with children. The county average for households married with children is 24.49%.
The median household income for the surrounding county is $43,299 compared to the national median of $57,652. The median age of people living in Hannibal is 47.4 years.
The average high temperature in July is 83.6 degrees, with an average low temperature in January of 21 degrees. The average rainfall is approximately 43.9 inches per year, with 28 inches of snow per year.