There are
248 mi
from Lawrence, KS to Hannibal, MO
That's the driving distance. It would take 4 hours 46 mins to go from Lawrence, Kansas to Hannibal, Missouri.
The flight distance (direct flight from Lawrence, KS to Hannibal, MO) is 213.31 mi.
248 mi = 399.73 kms