There are
653 mi
from Youngstown, OH to Hannibal, MO
That's the driving distance. It would take 12 hours 15 mins to go from Youngstown, Ohio to Hannibal, Missouri.
The flight distance (direct flight from Youngstown, OH to Hannibal, MO) is 571.20 mi.
653 mi = 1,050.29 kms