There are
660 mi
from Mesquite, TX to Hannibal, MO
That's the driving distance. It would take 12 hours 33 mins to go from Mesquite, Texas to Hannibal, Missouri.
The flight distance (direct flight from Mesquite, TX to Hannibal, MO) is 561.28 mi.
660 mi = 1,062.92 kms