There are
1,960 mi
from Gresham, OR to Keokuk, IA
That's the driving distance. It would take 1 day 9 hours to go from Gresham, Oregon to Keokuk, Iowa.
The flight distance (direct flight from Gresham, OR to Keokuk, IA) is 1,597.91 mi.
1,960 mi = 1.61 kms