Hannibal is located in Ohio. Hannibal, Ohio has a population of 357. Hannibal is less family-centric than the surrounding county with 20% households with children. The county percentage for households with children is 25%.
The median household income in Hannibal, Ohio is $55,208. The median household income for the surrounding county is $48,755 compared to the national median of $66,222. The median age of people living in Hannibal is 48.9 years.
The average high temperature in July is 83.3 degrees, with an average low temperature in January of 20 degrees. The annual precipitation is 40.52.