There are
321 mi
from Elgin, IL to Madison Heights, MI
That's the driving distance. It would take 6 hours 17 mins to go from Elgin, Illinois to Madison Heights, Michigan.
The flight distance (direct flight from Elgin, IL to Madison Heights, MI) is 266.44 mi.
321 mi = 517.10 kms