There are
314 mi
from Evanston, IL to Hannibal, MO
That's the driving distance. It would take 6 hours to go from Evanston, Illinois to Hannibal, Missouri.
The flight distance (direct flight from Evanston, IL to Hannibal, MO) is 250.37 mi.
314 mi = 505.90 kms