There are
778 mi
from Asheville, NC to Keokuk, IA
That's the driving distance. It would take 14 hours 48 mins to go from Asheville, North Carolina to Keokuk, Iowa.
The flight distance (direct flight from Asheville, NC to Keokuk, IA) is 584.10 mi.
778 mi = 1,251.31 kms