There are
331 mi
from Elgin, IL to Sterling Heights, MI
That's the driving distance. It would take 6 hours 32 mins to go from Elgin, Illinois to Sterling Heights, Michigan.
The flight distance (direct flight from Elgin, IL to Sterling Heights, MI) is 270.87 mi.
331 mi = 533.46 kms