There are
977 mi
from Bethlehem, PA to Keokuk, IA
That's the driving distance. It would take 18 hours 23 mins to go from Bethlehem, Pennsylvania to Keokuk, Iowa.
The flight distance (direct flight from Bethlehem, PA to Keokuk, IA) is 840.68 mi.
977 mi = 1,572.23 kms