| Km | Altitude | Gain | Gradient | Max | 0–15% |
|---|---|---|---|---|---|
| 1 | 331 m | +16 m | 1.6% | 2.4% |
|
| 2 | 352 m | +21 m | 2.1% | 8% |
|
| 3 | 438 m | +86 m | 8.6% | 13.6% |
|
| 4 | 488 m | +51 m | 5.1% | 8.8% |
|
| 5 | 532 m | +44 m | 4.4% | 10.6% |
|
| 6 | 597 m | +65 m | 6.5% | 11% |
|
| 7 | 518 m | −79 m | −7.9% | 0% |
|
| 8 | 435 m | −83 m | −8.3% | 0% |
|
| 9 | 427 m | −8 m | −0.8% | 8.6% |
|
| 10 | 439 m | +12 m | 1.2% | 8.4% |
|
| 11 | 529 m | +90 m | 9.0% | 12% |
|
| 12 | 578 m | +50 m | 5.0% | 18.8% |
|
| 13 | 617 m | +38 m | 3.8% | 8.2% |
|
| 14 | 633 m | +17 m | 1.7% | 3.8% |
|
| 15 | 715 m | +82 m | 8.2% | 12.8% |
|
| 16 | 815 m | +99 m | 9.9% | 16.2% |
|
| 17 | 896 m | +81 m | 8.1% | 12.6% |
|
| 18 | 893 m | −3 m | −0.3% | 13.2% |
|
| 19 | 892 m | −2 m | −0.2% | 10.4% |
|
| 20 | 1002 m | +110 m | 11.0% | 19.2% |
|
| 21 | 1077 m | +76 m | 7.6% | 13.6% |
|
| 22 | 1163 m | +86 m | 8.6% | 12% |
|
| 23 | 1238 m | +75 m | 7.5% | 14% |
|
| 24 | 1309 m | +71 m | 7.1% | 9.4% |
|
| 25 | 1378 m | +69 m | 6.9% | 9.6% |
|
| 26 | 1402 m | +24 m | 2.4% | 6.4% |
|
| 27 | 1456 m | +54 m | 5.4% | 11.6% |
|
| 28 | 1507 m | +51 m | 5.1% | 13.2% |
|
| 29 | 1565 m | +58 m | 5.8% | 8% |
|
| 30 | 1619 m | +54 m | 9.0% | 10.4% |
|
Difficulty score is length × gradient, weighted for the steepest kilometre.
Riders’ photos, notes and corrections make every profile better.