Leg 18.32 mi
FlatExchange 1 at 48.9379, -122.7310 · Open in Google Maps

Distance, elevation and exchanges for all 36 legs — 197.6 miles from Blaine to Langley, WA.
Last run: Fri–Sat, Jul 10–11, 2026. The 2027 date hasn’t been announced yet. Confirm on the official site.
An independent guide built from public route data. Relay Tracker is not affiliated with, endorsed by, or sponsored by the race organiser. Courses change from year to year — confirm legs and exchanges against the official race handbook.
Elevation along all 197.6 miles. Dotted lines are exchanges; coral dots are where the vans swap in the standard 12-runner, two-van format.
Swipe the chart sideways for the rest of the course →
Know before you go
In the standard 12-runner, two-van format Van 1 covers 97.6 mi and Van 2 100.0 mi. Relay Tracker handles any roster size — these pages just assume the common one.
| Leg | Miles | Gain | Loss | Net | Terrain | Profile | Runner | Van |
|---|---|---|---|---|---|---|---|---|
| 1 | 8.32 | +97 | −93 | +4 | Flat | R1 · 1st | 1 | |
| 2 | 6.22 | +135 | −111 | +24 | Flat | R2 · 1st | 1 | |
| 3 | 8.97 | +209 | −152 | +57 | Flat | R3 · 1st | 1 | |
| 4 | 3.85 | +63 | −130 | −67 | Flat | R4 · 1st | 1 | |
| 5 | 2.67 | +7 | −7 | 0 | Flat | R5 · 1st | 1 | |
| 6 | 3.79 | +124 | −36 | +88 | Flat | R6 · 1st | 1 | |
| 7 | 7.30 | +109 | −243 | −134 | Flat | R7 · 1st | 2 | |
| 8 | 2.69 | +475 | −121 | +354 | Hilly | R8 · 1st | 2 | |
| 9 | 9.91 | +87 | −118 | −31 | Flat | R9 · 1st | 2 | |
| 10 | 6.22 | +85 | −275 | −190 | Flat | R10 · 1st | 2 | |
| 11 | 5.04 | +0 | −44 | −44 | Flat | R11 · 1st | 2 | |
| 12 | 4.24 | +15 | −8 | +7 | Flat | R12 · 1st | 2 | |
| 13 | 4.42 | +22 | −0 | +22 | Flat | R1 · 2nd | 1 | |
| 14 | 3.98 | +129 | −180 | −51 | Flat | R2 · 2nd | 1 | |
| 15 | 6.60 | +0 | −7 | −7 | Flat | R3 · 2nd | 1 | |
| 16 | 4.04 | +0 | −0 | 0 | Flat | R4 · 2nd | 1 | |
| 17 | 7.60 | +42 | −39 | +3 | Flat | R5 · 2nd | 1 | |
| 18 | 10.1 | +541 | −542 | −1 | Rolling | R6 · 2nd | 1 | |
| 19 | 5.86 | +0 | −32 | −32 | Flat | R7 · 2nd | 2 | |
| 20 | 2.76 | +33 | −9 | +24 | Flat | R8 · 2nd | 2 | |
| 21 | 2.00 | +193 | −33 | +160 | Rolling | R9 · 2nd | 2 | |
| 22 | 9.80 | +523 | −674 | −151 | Rolling | R10 · 2nd | 2 | |
| 23 | 3.06 | +53 | −152 | −99 | Flat | R11 · 2nd | 2 | |
| 24 | 5.93 | +233 | −69 | +164 | Flat | R12 · 2nd | 2 | |
| 25 | 3.18 | +145 | −142 | +3 | Rolling | R1 · 3rd | 1 | |
| 26 | 3.66 | +68 | −120 | −52 | Flat | R2 · 3rd | 1 | |
| 27 | 3.02 | +237 | −51 | +186 | Rolling | R3 · 3rd | 1 | |
| 28 | 3.17 | +103 | −139 | −36 | Flat | R4 · 3rd | 1 | |
| 29 | 7.90 | +403 | −502 | −99 | Rolling | R5 · 3rd | 1 | |
| 30 | 6.11 | +230 | −181 | +49 | Flat | R6 · 3rd | 1 | |
| 31 | 6.30 | +155 | −240 | −85 | Flat | R7 · 3rd | 2 | |
| 32 | 7.76 | +427 | −432 | −5 | Rolling | R8 · 3rd | 2 | |
| 33 | 6.75 | +353 | −364 | −11 | Rolling | R9 · 3rd | 2 | |
| 34 | 5.65 | +214 | −224 | −10 | Flat | R10 · 3rd | 2 | |
| 35 | 3.55 | +148 | −128 | +20 | Rolling | R11 · 3rd | 2 | |
| 36 | 5.16 | +297 | −144 | +153 | Rolling | R12 · 3rd | 2 |
Swipe the table sideways for every column →
Exchange pins are approximate — check the official handbook for the exact handoff spot.
Exchange 1 at 48.9379, -122.7310 · Open in Google Maps

Exchange 2 at 48.9069, -122.7264 · Open in Google Maps

Exchange 3 at 48.8495, -122.6168 · Open in Google Maps

Exchange 4 at 48.8335, -122.5498 · Open in Google Maps

Exchange 5 at 48.8053, -122.5180 · Open in Google Maps

Exchange 6 at 48.7950, -122.4988 · Open in Google Maps

Exchange 7 at 48.7186, -122.4994 · Open in Google Maps

Exchange 8 at 48.7056, -122.4578 · Open in Google Maps

Exchange 9 at 48.6200, -122.3528 · Open in Google Maps

Exchange 10 at 48.5558, -122.3337 · Open in Google Maps

Exchange 11 at 48.5088, -122.3729 · Open in Google Maps

Exchange 12 at 48.4784, -122.3373 · Open in Google Maps

Exchange 13 at 48.4430, -122.3157 · Open in Google Maps

Exchange 14 at 48.4066, -122.3430 · Open in Google Maps

Exchange 15 at 48.3414, -122.3550 · Open in Google Maps

Exchange 16 at 48.3540, -122.4227 · Open in Google Maps

Exchange 17 at 48.3939, -122.4950 · Open in Google Maps

Exchange 18 at 48.4569, -122.5174 · Open in Google Maps

Exchange 19 at 48.4959, -122.6036 · Open in Google Maps

Exchange 20 at 48.5045, -122.6176 · Open in Google Maps

Exchange 21 at 48.4912, -122.6252 · Open in Google Maps

Exchange 22 at 48.3760, -122.6518 · Open in Google Maps

Exchange 23 at 48.3516, -122.6126 · Open in Google Maps

Exchange 24 at 48.3011, -122.6718 · Open in Google Maps

Exchange 25 at 48.3115, -122.6320 · Open in Google Maps

Exchange 26 at 48.2854, -122.6569 · Open in Google Maps

Exchange 27 at 48.2826, -122.6826 · Open in Google Maps

Exchange 28 at 48.2968, -122.6919 · Open in Google Maps

Exchange 29 at 48.2334, -122.7614 · Open in Google Maps

Exchange 30 at 48.2075, -122.6871 · Open in Google Maps

Exchange 31 at 48.1712, -122.6410 · Open in Google Maps

Exchange 32 at 48.1056, -122.5750 · Open in Google Maps

Exchange 33 at 48.0323, -122.6025 · Open in Google Maps

Exchange 34 at 48.0153, -122.5309 · Open in Google Maps

Exchange 35 at 48.0076, -122.4635 · Open in Google Maps

Langley, WA at 48.0320, -122.4036 · Open in Google Maps

Relay Tracker turns your team's 10k times into a leg-by-leg plan for this exact course — pace, finish time and a running team ETA that self-corrects as real splits come in — plus a live link your family can follow from home. Free, no ads, no account.
Download on the App Store Get it on Google Play Follow a team liveMore course guides
About this data. Distances, elevations and exchange points come from Relay Tracker's race pack for Ragnar Northwest Passage (v2, August 2026), built from the public route; the profiles are drawn from the same grade data the app's pace model uses. Exchange pins are approximate. Terrain is a simple derived label: Downhill when descent is at least twice the climb and net drop ≥ 250 ft; otherwise Flat under 40 ft of climb per mile, Rolling under 100, Hilly under 200, Steep above. Runner and van numbers assume the standard 12-runner, two-van format.
Maps: © OpenStreetMap contributors, © OpenMapTiles, powered by Geoapify.