There are
317 mi
from Elgin, IL to Maryland Heights, MO
That's the driving distance. It would take 6 hours 1 min to go from Elgin, Illinois to Maryland Heights, Missouri.
The flight distance (direct flight from Elgin, IL to Maryland Heights, MO) is 255.99 mi.
317 mi = 509.81 kms