There are
1,027 mi
from Suffolk, VA to Hannibal, MO
That's the driving distance. It would take 19 hours 24 mins to go from Suffolk, Virginia to Hannibal, Missouri.
The flight distance (direct flight from Suffolk, VA to Hannibal, MO) is 826.97 mi.
1,027 mi = 1.61 kms