Free tool

See your real running effort on hills.

Compute grade-adjusted pace from a single hill effort or any GPX or FIT file. Compare a 5:30/km mountain run against a flat tempo session, calibrate workout pacing for elevation, and stop pretending your trail PR is the same metric as your road one. Free, in-browser, your file never leaves your device.

Save your training to a real log

Free · no signup · your file stays on your device

Actual pace
5:30/km
GAP
5:02/km
Grade-adjusted pace

Actual pace

5:30 /km

Grade-adjusted pace

4:37 /km

How it works

  1. 1

    Pick a mode

    Manual for a single pace + grade. File mode for a GPX or FIT with elevation data.

  2. 2

    Enter your pace and grade

    Manual mode wants min/km or min/mi and a grade percentage. File mode reads it all from the file.

  3. 3

    Read the adjusted pace

    GAP per segment, with a summary line for the whole effort.

What you get

  • Strava-equivalent quadratic GAP formula with downhill correction
  • Per-trackpoint GAP for uploaded GPX, FIT, and TCX files
  • Handles uphill and downhill separately so descents do not flatter your numbers
  • Manual single-grade mode for back-of-napkin checks
  • min/km and min/mi units with a one-click toggle
  • Works offline - your activity file stays on your device

FAQ

What is grade-adjusted pace?

Grade-adjusted pace (GAP) is your running pace converted to the equivalent flat-ground pace at the same metabolic cost. Running 5:30/km up a 6% grade costs about the same as running 4:30/km on the flat - your GAP for that segment would be roughly 4:30. The point is to give you a single comparable number across hilly and flat runs so you can judge effort honestly.

Is this the same as Strava's GAP?

Functionally yes, numerically very close. Strava's GAP uses a quadratic curve fit to Minetti's metabolic-cost-of-running data. We use the same family of curve with effectively identical coefficients. Expect your numbers to land within 1-2 seconds per kilometre of Strava's GAP on the same activity.

How is GAP different from NGP (Normalised Graded Pace)?

TrainingPeaks Normalised Graded Pace uses a similar quadratic with slightly different coefficients, and then applies a normalisation rolling average (similar to NP for cycling). Per-segment, GAP and NGP agree within 1-3 sec/km. For an entire run, NGP tends to read a few seconds faster because of how the rolling average handles short surges.

Does GAP work for cycling?

Not in the same way. For running, GAP works because the metabolic cost of running per metre is dominated by your body mass moving against gravity, which is a clean function of grade. For cycling, the cost is dominated by aerodynamic drag and gravity together, and the math falls apart at higher speeds. Use [normalised power](/tools/tss) for cycling - it handles the same "effort versus output" problem more honestly.

Why does my hill run feel so much harder than the GAP suggests?

Three reasons. First, eccentric downhill loading damages muscle fibres in a way that GAP does not model - a 5km descent leaves you wrecked the next day even if the pace was easy. Second, hot weather and altitude both add cost that GAP cannot see. Third, GAP is a metabolic-cost estimate, not a perceived-exertion estimate; uphill running biases perception higher than the metabolics alone would predict.

What grade is "neutral" - where GAP equals pace?

0% grade is neutral by definition. The curve also has a sweet spot around -2 to -3% where downhill gravity-assist exactly cancels the slight extra cost of controlling your stride - run a gentle downhill 3:1 and your GAP equals your actual pace. Below -3% and steeper, gravity wins and your GAP is faster than your pace. Above 0% and steeper, gravity costs and your GAP is slower than your pace.

How accurate is GAP on a long mountain run?

Within about 5 sec/km on average for runs under 20% grade and under three hours. It loses fidelity on extreme slopes (above 25%) because hiking biomechanics take over from running biomechanics and the cost curve breaks. For ultras with serious vert, treat GAP as a guideline, not a verdict.

Should I train by GAP or by raw pace?

Train by GAP for effort-targeted workouts (tempo, threshold, easy runs) on hilly terrain - it stops you from blowing up climbs or sandbagging descents. Train by raw pace for race-specific workouts on terrain that mirrors the race, because the goal there is to learn what the actual pace feels like.

Track hill effort across the season

GAP per run is great. GAP trends across months are what tell you you're getting fitter.

Join the waitlist