| Km | Altitude | Gain | Gradient | Max | 0–15% |
|---|---|---|---|---|---|
| 1 | 293 m | +16 m | 1.6% | 10.8% |
|
| 2 | 386 m | +93 m | 9.3% | 17.2% |
|
| 3 | 453 m | +67 m | 6.7% | 16.8% |
|
| 4 | 514 m | +61 m | 6.1% | 19% |
|
| 5 | 597 m | +83 m | 8.3% | 21.2% |
|
| 6 | 633 m | +36 m | 3.6% | 10.8% |
|
| 7 | 598 m | −35 m | −3.5% | 4.4% |
|
| 8 | 613 m | +16 m | 1.6% | 17.6% |
|
| 9 | 608 m | −6 m | −0.6% | 14.4% |
|
| 10 | 705 m | +97 m | 9.7% | 18.5% |
|
| 11 | 798 m | +94 m | 9.4% | 14.8% |
|
| 12 | 851 m | +53 m | 5.3% | 13.4% |
|
| 13 | 916 m | +65 m | 6.5% | 19% |
|
| 14 | 973 m | +57 m | 5.7% | 16.2% |
|
| 15 | 1033 m | +61 m | 6.1% | 16.2% |
|
| 16 | 1094 m | +61 m | 6.1% | 14% |
|
| 17 | 1167 m | +74 m | 7.4% | 13.2% |
|
| 18 | 1269 m | +102 m | 10.2% | 20.2% |
|
| 19 | 1310 m | +40 m | 4.0% | 16.4% |
|
| 20 | 1378 m | +69 m | 6.9% | 14% |
|
| 21 | 1439 m | +61 m | 6.1% | 12.2% |
|
| 22 | 1546 m | +106 m | 10.6% | 19% |
|
| 23 | 1649 m | +103 m | 10.3% | 16.2% |
|
| 24 | 1713 m | +64 m | 6.4% | 13.8% |
|
| 25 | 1781 m | +68 m | 6.8% | 15.2% |
|
| 26 | 1825 m | +44 m | 4.4% | 12.8% |
|
| 27 | 1856 m | +32 m | 3.2% | 9.8% |
|
| 28 | 1873 m | +17 m | 1.7% | 7.6% |
|
| 29 | 1835 m | −38 m | −3.8% | 0.2% |
|
| 30 | 1891 m | +56 m | 5.6% | 8.6% |
|
| 31 | 1941 m | +49 m | 4.9% | 9% |
|
| 32 | 1991 m | +51 m | 5.9% | 11% |
|
Difficulty score is length × gradient, weighted for the steepest kilometre.
Riders’ photos, notes and corrections make every profile better.