Hannibal is a city located in Marion County, in the state of Missouri (MO), United States. Nestled in the West North Central division of the Midwest region, it covers an area of 14.6 square miles (38.0 km²) and sits at an elevation of 491 ft. With a population of approximately 17,757 residents, Hannibal offers a vibrant community life.
The town's population is composed of about 46.44% males and 53.56% females, and it has a population density of 216.23 people per square mile (469.59/km²). Hannibal lies at a latitude of 39.7 and a longitude of -91.38, operating in the UTC-6.
Locals reflect a blend of American ancestry, with roots primarily in United States (17.2%), followed by English (10.8%), German (19.8%), and Scotch-Irish (1.6%) heritage. The town is identified by the ZIP code 63401.