Hannibal

Census-designated place in Monroe County, Ohio

Aerial view of Hannibal, Ohio
Aerial view: USDA NAIP · USGS The National Map (public domain)

Hannibal is an unincorporated community (census-designated place) in Monroe County, Ohio, with 314 residents (2020 Census). It sits at 679 ft (207 m) above sea level. The nearest town is New Martinsville, 1.9 miles S.

About Hannibal

Hannibal is an unincorporated community and census-designated place (CDP) 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, down from 411 in 2010.

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.

Text: Wikipedia · CC BY-SA 4.0

Hannibal weather: 7-day forecast

Loading the National Weather Service forecast…

Hourly forecast & alerts ›

Source: National Weather Service (NOAA).

Live webcams in Hannibal

All 6 webcams near Hannibal ›

Webcams: Windy.com

Living in Hannibal

Median household income
$77,824
Median home value
$161,200
Median age
58.1
Cost of living and demographics of Hannibal ›

Do you know Hannibal? Tell us about it

Help other travelers: share what makes Hannibal special. We review every message before publishing it.

Map of Hannibal

Tap any street on the map to see it in Street View below. Map: © OpenStreetMap contributors.

Hannibal Street View

Loading Street View…

Drag the image to look around and tap the arrows on the ground to move. If it says there is no imagery, tap a nearby street on the map above.

Open in Google Maps ›

Hannibal, OH population

Hannibal had 314 residents in the 2020 Census.

2020 Census314
Density282 per sq mi (109 per km²)

Source: U.S. Census Bureau, Decennial Census.

Hannibal at a glance

StateOhio (OH)
CountyMonroe County
TypeCensus-designated place
Population314 (2020)
Land area1.12 sq mi (2.9 km²)
Water area0.08 sq mi (0.21 km²)
Elevation679 ft (207 m)
Coordinates39.6718° N, 80.8715° W
ZIP code43931
Census code (GEOID)3933222

Sources: U.S. Census Bureau (Gazetteer, ZCTA), USGS GNIS, Wikidata.

Towns near Hannibal

Straight-line distance between town centers.

Frequently asked questions about Hannibal

What county is Hannibal in?

Hannibal is in Monroe County, Ohio.

What is the population of Hannibal, OH?

314 people lived in Hannibal at the 2020 Census.

What is the ZIP code of Hannibal, OH?

The ZIP code of Hannibal is 43931.

What is the elevation of Hannibal?

679 feet (207 m) above sea level.

What towns are near Hannibal?

New Martinsville (1.9 mi), Sardis (3.5 mi), Paden City (5.8 mi), Clarington (7.3 mi), Sistersville (10.3 mi).

Last updated: