Skip to content

Checked

Hannibal, MO

City in Marion County, Missouri. ZIP codes: 63401.

Population

16,771

Land area

16sq mi

People per sq mi

1,047

ZIP codes

1

Hannibal and its ZIP codes

Hannibal at a glance

  • Hannibal is about 12 times as dense as Missouri as a whole.
  • It is the 51st most populous of 1,062 cities and towns in Missouri.
  • Households here earn a median of $53,721 a year, 24% less than the Missouri figure of $70,702.
  • A typical owner-occupied home is valued at $127,700 (45% below Missouri) and median rent is $805 a month.

Local data for Hannibal, MO

Counts from official public data

Housing and community stats

Hannibal, MO, American Community Survey 2020-2024

Full profile

Median household income

$53,721

Poverty rate

19.5%

Median home value

$127,700

Median rent

$805/mo

Homeownership

62.2%

Bachelor's or higher

19.5%

Median age

38.5

Average commute

15.3 min

Largest reported origins and ancestries: German Americans (3,088), Irish Americans (1,536), Italian Americans (794).

Home values and rentsIncome, education and commute

Economy and federal money

Jobs, pay, income and spending are for Marion County. PPP loans are for Hannibal.

Details

Unemployment rate

3.9%

Aug 2026, -0.6 pts in a year

Average annual pay

$53,464

12,987 jobs, 2025

Income per person

$54,254

BEA, 2024

Federal spending

$193M

FY 2026, $6,765 per person

PPP loans

$35.07M

600 loans, 5,643 jobs reported

Marion County economyFederal spendingPPP loans

How people get to work

Hannibal, MO, workers 16 and older. American Community Survey 5-year estimates

  • Drove alone76.9%
  • Carpooled11.2%
  • Public transit0.5%
  • Walked4.0%
  • Bicycle0.0%
  • Taxi, ride-hailing, motorcycle or other1.0%
  • Worked from home6.4%

Average one-way commute: 15.3 minutes for people who do not work from home.

Environment and hazard risk

Hannibal, MO, from FEMA, NOAA and EPA

Full report

Natural hazard risk

Relatively Low

Top: heat wave

Storm events since 1996

357

Countywide, mostly thunderstorm wind

Flood insurance policies

50

0.4% of homes, county

July high / Jan low

86° / 18°F

41.3 inches of rain a year

Hazards, floods and storm historyCheck a flood zone21 historic places

Health statistics

Share of adults in Hannibal, MO, CDC PLACES estimates

All 40 measures

Obesity

41.4%

U.S. 33.3% +8.1 pts

Diabetes

13.9%

U.S. 12.1% +1.8 pts

Smoking

19.7%

U.S. 12.8% +6.9 pts

Uninsured (18-64)

10.2%

U.S. 11.1% -0.9 pts

ZIP codes in Hannibal

1 in or overlapping Hannibal. Population shown

·

Cities near Hannibal

Frequently asked questions

What county is Hannibal, MO in?
Hannibal is in Marion County, Missouri.
What ZIP codes are in Hannibal, MO?
ZIP codes in or overlapping Hannibal include 63401.
What is the population of Hannibal, MO?
About 16,771 people live in Hannibal, based on American Community Survey 5-year estimates.
What cities are near Hannibal?
Nearby places include Fall Creek, IL (6.3 mi), Saverton (7.3 mi), New London (8.9 mi), Rensselaer (9 mi), Palmyra (9.3 mi).

Source: U.S. Census Bureau (TIGER/Line boundaries, American Community Survey) · Data as of 12/31/2023