There are
1,218 mi
from Sandy, UT to Hannibal, MO
That's the driving distance. It would take 21 hours 8 mins to go from Sandy, Utah to Hannibal, Missouri.
The flight distance (direct flight from Sandy, UT to Hannibal, MO) is 1,082.08 mi.
1,218 mi = 1.61 kms