Tunnel of Trees
Harbor Springs to Cross Village
Northern Lower Michigan · Michigan · United States
Key measurements
- Distance
- 20.5 miles
- Elevation gain
- 818 ft
- Elevation loss
- 754 ft
- High point
- 915 ft
- Low point
- 593 ft
- Net change
- 71 ft (596 ft to 667 ft)
- Route type
- point-to-point
Route Overview
State Highway M-119 between Harbor Springs and Cross Village is one of the Midwest's most distinct coastal corridors. Perched on a high bluff overlooking Lake Michigan in the northwest corner of Michigan's Lower Peninsula, the route winds through a dense hardwood canopy that closes over the roadway to form the famous "Tunnel of Trees."
Over its 20.5 miles, the route climbs gently from the harbor town of Harbor Springs up onto the coastal ridges, peaking at 914 feet near Mile 6.9 before descending to near lake level (593 feet) at the northern terminus in Cross Village. While total elevation change is modest, the road’s character is defined by its extreme narrowness, continuous sharp turns, blind curves, and the complete absence of a centerline or paved shoulders along much of its length.
Key Segments & Geographic Transitions
The Lake Michigan Bluff Highway — Miles 0.0–20.5
Leaving the northbound outskirts of Harbor Springs, M-119 transitions almost immediately from a standard two-lane highway into a narrow, winding ribbon of asphalt framed by old-growth hardwoods, hemlocks, and steep bluffs dropping toward Lake Michigan to the west. The road follows the undulating contours of the terrain rather than cutting through it, resulting in a sequence of short-radius turns, quick crests, and sudden dip transitions. Intermediate hamlets like Good Hart near Mile 12 provide brief openings in the canopy before the route tightens again on the final stretch leading into the historic settlement of Cross Village.
Seasonal & Environmental Context
The route's dense canopy creates dramatic light-and-shadow contrast on sunny days, making surface variations and road debris difficult to spot. Damp pavement persists in the shade hours or days after nearby open roads have dried.
Autumn (late September through October) is peak season for leaf-viewing, bringing massive surges in automobile, RV, and motorcycle traffic. Wet fallen leaves in October significantly reduce traction and obscure the pavement edges. During spring and early summer, fog often rolls off Lake Michigan, sitting thick along the bluff tops. Winter brings lake-effect snow and icy conditions, making this narrow corridor challenging to navigate.
Logistics & Services
Fuel, dining, and lodging are readily available at the southern anchor in Harbor Springs. Between Harbor Springs and Cross Village, services are minimal; the historic Good Hart General Store (near Mile 12.5) provides basic food supplies, a deli, and a post office, but no fuel.
At the northern terminus in Cross Village, the landmark Legs Inn offers seasonal dining and lake views. Fuel availability in Cross Village is limited, so refueling in Harbor Springs or planning a short jump eastward to US-31 upon finishing the route is recommended.
Important Considerations
Traffic congestion is the primary factor during summer weekends and the autumn peak, with slow-moving sightseers and vehicles frequently stopping unexpectedly near scenic pullouts. The roadway is exceptionally narrow with tree trunks, wooden guardrails, and earth banks sitting inches from the pavement edge. Washout gravel from steep dirt driveways often spills directly into the travel lanes after rain. White-tailed deer are dense throughout this forest corridor and frequently cross the road with little warning, particularly at dawn and dusk.
Motorcycle routes, measured before you ride.
A curated library of scenic roads. Each one is measured — distance, elevation, the roads it follows — and comes with a GPX file for your GPS or riding app.
Featured routes
Browse by state
Every route is measured from its own track first. The description is written from those measurements and reviewed before it is published.
Have a route of your own?
Analyze your own GPX or KMLSee what Route Refinery finds in a route.
Route Refinery measures a route first — roads, elevation, character, terrain and geographic context — then describes what it measured. Below is a finished brief.
Example Route
Analyze your motorcycle route.
Upload a GPX or KML file to measure distance, elevation, road progression, terrain and route character — then get a concise description written from those measurements.
Measured first. Written second.
How it works
- Upload your route.
- Route Refinery measures it.
- Get a concise, shareable description.
Route files may reveal precise start and end locations. Consider using public start and end points before sharing a route publicly.
Route Refinery is under active development. Road information and geographic context may be incomplete in some areas.
Measuring your route…
Reading route geometry…
This can take a minute on a long route. The measurements come first; the description is written from them.
Route progression
Method & limitations
Plan this ride
Plan This Ride personalizes the briefing for this route. It does not change the route itself. To change the start, finish, or route geometry, edit or create the route in your preferred mapping tool and upload the revised GPX to Route Refinery.
Published routes
Every motorcycle route in the Route Refinery library, each one reviewed before it is published.
Every route has a map, its measured distance and elevation, an elevation profile and a GPX download. Browse by place, or scroll the full list.
Browse by place
No routes have been published yet.
Have your own route?
Route Refinery measures and describes an uploaded GPX or KML file the same way as the published library. To change a published route's start, finish or detour, download its GPX, edit it in your mapping tool and analyze the revised file.
Analyze a GPX or KMLSaved routes
| Title | Status | Saved | Country | State/Prov | Region | Route Type | Origin | Destination | Activity | Distance | Source | Reviewed |
|---|