Advanced Pace Calculator
Segment-based race planning with GPX/KML route support.
| # | Name | Distance km | ↑ Gain m | ↓ Loss m | Grade | Pace | Time | ||
|---|---|---|---|---|---|---|---|---|---|
| Total | — | — | — | — | — |
Splits
| # | km | Split | Total |
|---|
Pace scenarios
| Change | Flat road pace | Finish time |
|---|
Training zones
| Zone | Type | Flat road pace |
|---|
What this calculator does
A hilly race is not run at one pace, so planning it with one number sets you up to run the climbs too hard and reach the descents with nothing left. This page breaks the course into segments, prices each one for its own gradient and ground, and gives every segment its own pace, so the plan follows the course instead of averaging it away.
The one number it asks of you
Flat road pace is what you could hold on level tarmac at race effort. It is the one thing you genuinely know about yourself, and everything else is worked out from it. Give the road figure even when planning a mountain race: the Ground setting adds the cost of rough terrain on top, so folding it in yourself charges you for it twice.
Ground
A route file records where you go and how high, and says nothing about what is under your feet. The same profile is half an hour apart on fire road and on boulders, so the ground has to be asked for. It is charged separately going up and coming down, because rough footing barely matters when a climb has already slowed you to a crawl and matters enormously when you are trying to let go on a descent.
Loading a route
A GPX, KML, KMZ, or Suunto export is read in your browser and turned into a plan. Its distance and elevation profile become the segments; the map and the profile chart are drawn from the same points. If the file disagrees slightly with the official race distance, type the official one into Distance and every segment rescales to match.
How the course gets divided
Two ways: every N kilometers, which suits a road race or a steady climb, or at every peak and valley, which follows the shape of the course and is usually right for trail. Peak and valley uses a prominence threshold, so a few meters of noise in the profile does not become a hundred segments. Afterwards you can drag the boundaries on the elevation chart, or split, merge, reorder, and rename by hand.
Overriding a segment
The muted paces are ours. Type your own over any of them and that segment is locked: the number you wrote is what it costs, and if you are working to a target finish time the rest of the plan re-solves around it so the target still holds. Lock the long climb at the pace you know you will walk it, and everything else tightens to compensate. Clear the field to hand the segment back.
Working forwards or backwards
Enter a flat road pace to see what it produces, or enter a target finish time and the flat pace that achieves it is found for you. If a target cannot be reached on this course, or the segments you have locked already use up more than it allows, you are told so, rather than shown a plan that does not add up.
Reading the result
The splits below the table are built from the segments rather than from an average, so on a hilly course they vary from kilometer to kilometer. Those are the numbers to race off. Expect to be well behind an even-pace schedule at the top of a long climb and to take it back on the way down; the plan already accounts for that, and chasing the average is how a good day comes apart.
What it cannot know
Climbing is priced from measured running economy, which varies with fitness and running style. Descending is priced from a judgment about what braking costs, not from a measurement. Neither knows about altitude, heat, a heavy pack, how the day is going, or the queue at the stile. Treat the output as a well-informed first draft and overwrite the parts you know better. That is what the overrides are for. The About page sets out the models and their limits in full.