There are
416 mi
from Sioux City, IA to Hannibal, MO
That's the driving distance. It would take 7 hours 50 mins to go from Sioux City, Iowa to Hannibal, Missouri.
The flight distance (direct flight from Sioux City, IA to Hannibal, MO) is 325.64 mi.
416 mi = 669.81 kms