UK Marathon Course Difficulty Calculator
Explain like I'm 5
A marathon's elevation profile matters as much as the total ascent: a hill at km 38 hurts roughly twice as much as the same hill at km 4. Drop in the GPX file for your race, set the pace you'd run on a flat course, and the calculator works out a realistic finish time, flags the toughest sections, and tells you what time of day you'll hit each climb.
Course summary
- Adjusted finish time–
- Flat-pace finish time–
- Course slowdown–
- Difficulty rating–
- Total distance–
- Total ascent–
- Total descent–
- Ascent per km–
Toughest sections
This course is flat enough that no significant climbs were detected. Lucky you.
| Climb | Length | Average grade | Ascent | Predicted arrival | Category |
|---|
Show workings
Why total ascent isn't the whole story
If you've ever read a race brief that says "1,200 ft of total elevation gain" and felt none the wiser, you're not alone. Total ascent is a useful number, but it's a blunt one. Two marathons with identical 1,200 ft of climbing can produce wildly different finish times depending on whether the hills come at km 5 or km 35, whether the descents are gentle or steep, and whether the course makes you grind out the climbs late or rewards a strong opening.
The classic example is the Comrades Marathon in South Africa. It runs in alternating directions year on year, the "Up Run" and the "Down Run". On paper the Down Run looks easier: you net descend over 87 km. In practice it's arguably harder, because the steep downhill sections come in the final third when the quadriceps are already shredded from earlier descents. Runners actually slow on the downhills near the end because eccentric muscle damage makes them painful. The same gradient that gave a free 12% pace benefit at km 20 becomes a forced slowdown at km 75.
That's the insight this calculator is built around. Where the hills fall matters as much as how big they are.
Grade-Adjusted Pace, the honest version
The starting point is converting elevation change into a pace adjustment. The academic gold standard is the Minetti equation, derived from treadmill metabolic testing in 2002. The problem with Minetti for road racing is that it was calibrated against energy cost, not actual achievable speed, and it overstates the downhill speed benefit by up to a factor of three. A 5% downhill in Minetti looks like a 25% pace boost. In reality, on a road, with road shoes, with the braking forces you have to apply to keep your stride under control, you'll get maybe 8 to 10%.
Strava re-derived their Grade-Adjusted Pace model from millions of real-world runs, normalised by heart rate rather than calculated metabolic cost. Their data shows the downhill benefit caps out at around -9% gradient (about 12% faster than flat), and at gradients steeper than -18% there's no benefit at all. Past that point you're braking your way down, not running. This calculator uses a Strava-style curve. It will not flatter you with predictions of negative-split miracles on technical descents.
For uphills, the model is roughly polynomial: a 5% climb costs about 20% in pace, a 10% climb about 45%. Those numbers are stable across the literature, because uphills don't have the same "real-world braking" complication that downhills do.
Where the hill falls: the fatigue weighting
Every kilometre of the course gets a position-based fatigue multiplier on top of the GAP factor. The maths is calibrated against what coaches and physiologists have been saying for decades:
- Uphills get progressively heavier across the race. A climb in the final 10 km is treated as roughly 30% more metabolically expensive than the same climb in the first 10 km. By km 38 you're glycogen-depleted, your form is going, and your ability to produce force is diminished. The same gradient that felt manageable in the opening miles will not feel manageable now.
- Downhills get an eccentric-damage penalty in the back half. For the first 60% of the race there's no penalty: fresh quads handle descents fine, and you bank the speed benefit. After that, a steep downhill (steeper than about 5%) starts attracting a penalty that grows quadratically into the finish. By the final kilometre, a properly steep descent can be slower than running it flat. This is where the "Comrades Down Run" effect lives in the model.
The "Marathon experience" dropdown scales this whole effect. First-timers fade harder on the back half; experienced marathoners with a deep aerobic base and structured training fade less. The default sits in the middle.
Climb detection and what counts as "tough"
Strava's cycling climb categorisation multiplies the length of a climb (in metres) by its average gradient (in percent). A score above 8,000 gets a category. We use the same formula but lower the floor to 4,000, because anything that's sustained at 3% for over a kilometre and a half is worth a runner's attention even if a cyclist would shrug at it.
Before detecting climbs the calculator runs a moving-average smoother across the elevation profile. Without smoothing, GPS noise produces hundreds of micro-hills that don't exist on the actual road. A 9-point window gets rid of the noise without losing the real climbs.
The "Predicted arrival" column tells you the time you'll hit the start of each climb if you run the rest of the course at the model's per-segment pace. Treat it as a pacing aid: it's the hour mark when you should mentally prepare for the section, not a guarantee.
Where to get a GPX file
Most major UK marathons publish an official GPX or KML on their website: London, Manchester, Brighton, Edinburgh, Yorkshire and Loch Ness all do, and the smaller events are catching up. If your race doesn't, you can usually find a recent finisher's activity on Strava (filter by the race name) and export the GPX from their public activity. Plotaroute and Komoot also host community-made route files. Save the file to your device, then upload it here.
What this calculator deliberately doesn't model
Surface (tarmac vs trail vs grass), camber, weather on the day, wind direction relative to the course, hydration strategy, what you ate the night before. All of those matter and none of them are in a GPX file. Treat the predicted finish time as a course-aware target effort, not a guarantee. The point isn't to predict your time to the second; it's to tell you in advance which kilometres will hurt the most, so you can pace accordingly and not blow up at km 35 because you didn't realise the closing miles climbed.
Built on the Strava empirical GAP model and the fatigue-weighting principles described in the running coaching literature. Coach feedback for this tool came from Sarah Elizabeth Jones at Lovely Marathon coaching, who pointed out that "where the hills fall" is the bit most calculators get wrong.
Related calculators
Course difficulty is one input. These cover pacing and fuelling around it.
Common questions
Where do I get a GPX file for a marathon course?
Most major UK marathons publish an official GPX or KML on their website (London, Manchester, Brighton, Edinburgh and others). If they don't, you can usually find a recent finisher's activity on Strava or a route on Plotaroute or Komoot and export the GPX from there. Save the file to your device, then upload it here.
Why does the calculator say my downhill is slower than flat?
Two reasons. First, downhill speed benefit caps out at about a 9% gradient (around 12% faster than flat). Beyond that the braking forces you have to apply to control the descent eat into the speed gain, and past about 18% you are no faster than flat. Second, late-race downhills attract an eccentric-damage penalty: by the time your quads are cooked at km 35, a steep descent hurts and you slow down rather than speeding up. The calculator applies both effects.
How does the calculator know hills hurt more late in the race?
Each kilometre of the course gets a fatigue multiplier based on where it falls in the race. A 5% climb at km 38 is treated as roughly 30% more metabolically expensive than the same climb at km 4, because by the late race your glycogen is depleted and your form is going. That is why the Comrades Down Run is arguably harder than the Up: the brutal descents come when your legs are already shot.
Why does the calculator use a Strava-style GAP model and not Minetti?
Minetti's 2002 equation is the academic gold standard, but it was derived from treadmill testing and significantly overstates downhill speed benefit (by up to a factor of three) compared with what real road runners actually do. Strava re-derived their Grade-Adjusted Pace model from millions of real-world runs and it caps the downhill benefit at around 12%. For predicting marathon finish time on a real course, the Strava-style curve is more honest.
What does the difficulty rating mean?
Flat: under 5 metres of ascent per kilometre and under 1% slowdown versus a flat target. Rolling: gentle undulation. Hilly: meaningful elevation that requires a different pacing strategy. Brutal: a course like Snowdonia or the Yorkshire Marathon's hilly variants where the elevation profile dictates the race plan, not the other way round.
Is my GPX file uploaded anywhere?
No. Everything happens in your browser. The file is parsed locally, the maths runs on your device, and nothing is sent to a server. You can disconnect from the internet after the page loads and the calculator will still work.