There are
331 mi
from Elgin, IL to Rochester Hills, MI
That's the driving distance. It would take 6 hours 33 mins to go from Elgin, Illinois to Rochester Hills, Michigan.
The flight distance (direct flight from Elgin, IL to Rochester Hills, MI) is 265.48 mi.
331 mi = 533.21 kms