There are
1,081 mi
from Elgin, IL to Portsmouth, NH
That's the driving distance. It would take 20 hours 37 mins to go from Elgin, Illinois to Portsmouth, New Hampshire.
The flight distance (direct flight from Elgin, IL to Portsmouth, NH) is 892.86 mi.
1,081 mi = 1.61 kms