There are
307 mi
from St Charles, MO to Elgin, IL
That's the driving distance. It would take 6 hours 5 mins to go from St Charles, Missouri to Elgin, Illinois.
The flight distance (direct flight from St Charles, MO to Elgin, IL) is 253.26 mi.
307 mi = 493.49 kms