Hannibal is a census-designated place in eastern Ohio Township, Monroe County, Ohio, United States. It has a post office with the ZIP code 43…Hannibal is a census-designated place in eastern Ohio Township, Monroe County, Ohio, United States. It has a post office with the ZIP code 43931. In the 2020 Census, it had a population of 314. Hannibal lies along Ohio State Route 7 near an intersection with Ohio State Route 536. It borders the Ohio River town, and is the site of the Hannibal Locks and Dam. The town lies below Clarington and above Sardis. Hannibal is also connected to New Martinsville, West Virginia by the New Martinsville Bridge.