Overview Hannibal is a village in Ohio, United States, with a population of about 411[1]. Geography Coordinates: 39.6673, -80.8720