There are
1,160 mi
from Harlingen, TX to Hannibal, MO
That's the driving distance. It would take 21 hours 51 mins to go from Harlingen, Texas to Hannibal, Missouri.
The flight distance (direct flight from Harlingen, TX to Hannibal, MO) is 1,002.94 mi.
1,160 mi = 1,866.51 kms