Hannibal to St. Louis: Road Trip Guide & Distance

97.1 miles 156.3 km · straight line
121.4 miles estimated 195.4 km · driving distance
2h 27min estimated drive time
$12 - $14 estimated fuel cost
~42min flight time · usually no direct flights
140° SE bearing direction

How far is Hannibal from St. Louis?

The distance from Hannibal to St. Louis is 97.1 miles (156.3 km) as the crow flies. St. Louis is located SE of Hannibal. By car, the driving distance is approximately 121.4 miles, taking about 2h 27min. A direct flight would take roughly 42min. Both are located in United States.

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. Heading East means you'll be driving into the sunrise if you start early. Keep your windshield clean for the best visibility. 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 St. Louis. 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 St. Louis

Method Time Est. Cost Best For
Drive 2h 27min $12 - $14 Flexible stops
Bus ~2h 56min $10–$18* Budget
Train ~2h 20min $15–$42* Comfort

Suggested Stops Between Hannibal & St. Louis

Quick Facts

Hannibal
39.71°N, 91.36°W
America/Chicago
153m elevation
St. Louis
38.63°N, 90.20°W
America/Chicago
142m elevation
Explore more routes from St. Louis

Did You Know?

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