There are
332 mi
from St Clair Shores, MI to Elgin, IL
That's the driving distance. It would take 6 hours 25 mins to go from St Clair Shores, Michigan to Elgin, Illinois.
The flight distance (direct flight from St Clair Shores, MI to Elgin, IL) is 277.35 mi.
332 mi = 534.93 kms