Missouri · Census place 2930214

Hannibal, Missouri

Hannibal is a city in 2 counties of Missouri with an estimated 16,809 residents on July 1, 2024. It is the 46th largest of 338 incorporated places of 1,000+ people in the state.

Population 2024
16,809
#46 of 338 in Missouri
Change since 2020
-1.5%
-264 people
Land area
16.0 sq mi
+ 0.46 sq mi water
Density
1,050 / sq mi
State median 1,448
Orange pin: Hannibal. Shaded: counties it spans. Dark pin: Jefferson City.

Hannibal population, 2020 to 2024

Hannibal lost 264 residents from July 2020 to July 2024, a change of -1.5%. In the latest year it moved by -15. Among 135 Missouri places of 5,000 or more, that growth ranks 111th; the median place changed by +1.2%. The median place of 5,000+ in Missouri has 12,239 people, so Hannibal is 1.4 times that size.

17.1k202017.1k202117.0k202216.8k202316.8k2024
July 1 estimates. The April 2020 estimates base was 17,110. The axis starts above zero so yearly changes are visible.

Hannibal covers 16.01 square miles of land and 0.46 of water, for 1,050 people per square mile of land. The median Missouri place of 5,000+ has 1,448, so Hannibal is less dense than the typical town.

The 2 counties Hannibal spans

Hannibal crosses county lines. The Census county-part estimates split its 16,809 residents as follows; Marion County holds 98.3% of them. The shaded shapes are on the map above; dots mark the eight nearest places.

  1. 01Marion County16,523
  2. 02Ralls County286
Residents inside each county, Census Vintage 2024 county-part estimates (SUMLEV 157).

ZIP codes in Hannibal

1 ZIP Code Tabulation Area (ZCTA) overlaps Hannibal by at least 10% of the ZCTA's or the city's land: 63401. ZCTAs are Census approximations of USPS ZIP code delivery areas. The list comes from the 2020 ZCTA to place relationship file, so a city that annexed land after 2020 may reach into ZIP codes not listed here.

Where Hannibal is

The Census internal point of Hannibal is at 39.710200, -91.394000. Jefferson City, the capital, is 88.6 miles SSW in a straight line. The nearest larger place is Quincy, IL (38,786 people), 15.5 miles away. The nearest city of 100,000 or more is Columbia, MO, 72.5 miles away.

Internal point

Decimal
39.710200, -91.394000
DMS
39°42'36.72"N 91°23'38.40"W
UTM
15N 637668.8E 4396826.0N
Geohash
9zp1bm0bt
Plus code
86FCPJ64+3C

Daylight in Hannibal

At 39.71° N, Hannibal gets about 14 h 59 min of daylight around the June solstice and 9 h 21 min around the December solstice, a swing of 5 h 38 min. Figures are sunrise to sunset from the SunCalc model for June 21 and December 21, 2026.

Places near Hannibal

The eight nearest incorporated places of 1,000+ in Missouri, measured between internal points. The closest is Palmyra, 9.3 miles away, with 3,644 people.

Questions people ask

What is the population of Hannibal, MO?

16,809 on July 1, 2024, in the Census Vintage 2024 estimates. That is down 264 (1.5%) from 17,073 in July 2020.

What county is Hannibal in?

It spans 2 counties: Marion County (16,523 residents), Ralls County (286 residents).

What ZIP codes cover Hannibal?

1 ZIP Code Tabulation Area overlaps it by at least 10% of either area: 63401.

How far is Hannibal from Jefferson City?

88.6 miles (142.6 km) in a straight line, heading SSW from Hannibal.

What is the nearest larger city to Hannibal?

Quincy, IL, with 38,786 residents, 15.5 miles away between internal points.

Sources and data as of

Data as of: Census Vintage 2024 subcounty estimates (July 1, 2024), 2024 Gazetteer places, 2020 ZCTA to place relationship file.

  1. 01Census Vintage 2024 subcounty population estimates
  2. 02Census 2024 Gazetteer, places
  3. 03Census 2020 ZCTA to place relationship file
  4. 04Census 2024 cartographic boundary file, counties (1:5,000,000)

How every number is computed: methodology. Spotted a wrong figure? Report an error.