Hannibal to Iowa City: Road Trip Guide & Distance

135.2 miles 217.6 km · straight line
169 miles estimated 272 km · driving distance
3h 24min estimated drive time
$16 - $20 estimated fuel cost
~46min flight time
356° N bearing direction

How far is Hannibal from Iowa City?

The distance from Hannibal to Iowa City is 135.2 miles (217.6 km) as the crow flies. Iowa City is located N of Hannibal. By car, the driving distance is approximately 169 miles, taking about 3h 24min. A direct flight would take roughly 46min. Both are located in United States — Hannibal in Missouri and Iowa City in Iowa.

For a drive of this length, it's recommended to plan at least one quick rest stop to stretch your legs and grab a coffee. Given the short distance, driving or taking a train is often faster and more convenient than dealing with airport security and flight boarding times.

Coordinates come from public place data for Hannibal and Iowa City. The driving distance is estimated from straight-line distance with a road-factor model, so confirm the route in your navigation app. Fuel, flight, bus, and train values are planning estimates and can change by date, provider, road closures, and border rules.

How to Get from Hannibal to Iowa City

Method Time Est. Cost Best For
Drive 3h 24min $16 - $20 Flexible stops
Fly ~46min $80–200* Speed
Bus ~4h 5min $14–$25* Budget
Train ~3h 14min $20–$59* Comfort

Suggested Stops Between Hannibal & Iowa City

Quick Facts

Hannibal
39.71°N, 91.36°W
America/Chicago
153m elevation
Iowa City
41.66°N, 91.53°W
America/Chicago
204m elevation
Explore more routes from Iowa City

Did You Know?

  • At walking speed (3 mph), it would take about 45 hours of non-stop walking
  • By bicycle at 12 mph, the journey would take roughly 11 hours
  • You could travel this distance about 184.2 times to circle the Earth's equator
Data Sources & Estimate Notes GeoNames · OpenStreetMap · Driving distance estimated using road factor coefficients