There are
187 mi
from Champaign, IL to Hannibal, MO
That's the driving distance. It would take 3 hours 28 mins to go from Champaign, Illinois to Hannibal, Missouri.
The flight distance (direct flight from Champaign, IL to Hannibal, MO) is 167.47 mi.
187 mi = 301.62 kms