There are
312 mi
from Carmel, IN to Hannibal, MO
That's the driving distance. It would take 5 hours 53 mins to go from Carmel, Indiana to Hannibal, Missouri.
The flight distance (direct flight from Carmel, IN to Hannibal, MO) is 278.59 mi.
312 mi = 501.36 kms