There are
955 mi
from San Angelo, TX to Keokuk, IA
That's the driving distance. It would take 17 hours 37 mins to go from San Angelo, Texas to Keokuk, Iowa.
The flight distance (direct flight from San Angelo, TX to Keokuk, IA) is 797.39 mi.
955 mi = 1,537.05 kms