There are
972 mi
from San Angelo, TX to Marshalltown, IA
That's the driving distance. It would take 17 hours 20 mins to go from San Angelo, Texas to Marshalltown, Iowa.
The flight distance (direct flight from San Angelo, TX to Marshalltown, IA) is 840.98 mi.
972 mi = 1,563.92 kms