There are
665 mi
from Pittsburgh, PA to Hannibal, MO
That's the driving distance. It would take 12 hours 36 mins to go from Pittsburgh, Pennsylvania to Hannibal, Missouri.
The flight distance (direct flight from Pittsburgh, PA to Hannibal, MO) is 602.46 mi.
665 mi = 1,070.11 kms