There are
1,971 mi
from Milpitas, CA to Hannibal, MO
That's the driving distance. It would take 1 day 10 hours to go from Milpitas, California to Hannibal, Missouri.
The flight distance (direct flight from Milpitas, CA to Hannibal, MO) is 1,649.78 mi.
1,971 mi = 3,172.09 kms