Hannibal, Ohio

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 is located along the Ohio River, and is home to the Hannibal Locks and Dam. The town lies below Clarington and above Sardis. Hannibal is also connected to New Martinsville, West Virginia via the New Martinsville Bridge.

Hannibal was originally called “Baresville,” named for the founder Jacob Bare. A post office called Hannibal was opened and the town’s name was soon changed to match.

Hannibal is served by the Switzerland of Ohio Local School District, and is home to the K-12 building that houses both River Elementary School and River High School.

Geography
According to the United States Census Bureau, the CDP has a total area of 2.9 km2, all of it land.