HealthCalcPlus

Runs in your browser · no sign-up · your inputs are never uploaded

Race Time Calculator

The race you have run

A race you ran all out, ideally in the last two or three months. The page opens on 10 km in 45:00 as a worked example — type your own and everything rebuilds as you type.

The race you are aiming at
The course you are aiming at

Metres climbed (+) or dropped (−) in each kilometre of the target course, km 1 first, always per kilometre whichever unit the splits are shown in. Kilometres you leave out count as flat, and anything past the target distance is ignored. The box starts with a demo profile — not a real race; replace it with your own course.

Splits shown in

Changes how the splits are labelled, not how the course is read: the profile box is always metres per kilometre.

Method optional

1.06 is the Riegel baseline. Larger C predicts a bigger slowdown over long distances. It is a baseline, not a measurement of your own race.

or press Enter

Hill-adjusted race time

–:––:––

Flat-course equivalent
—
What the hills add
—
Total ascent
—
Total descent
—

Splits

Km Δ m Grade Split Clock Pace Relative cost

climbs descents flat

What this page does

A race time calculator answers one question — what will I actually run? — and that question has two halves. One half is your fitness, which you demonstrate by having run a race. The other half is the course, which is decided by how much climbing and descending it puts in front of you. Most calculators take the first half and quietly assume the second one away.

This page takes both. Give it a race you have actually run, the distance you are aiming at, and the elevation change in each kilometre of the target course. It predicts what you would run on the flat, prices every kilometre of the course for its gradient, and prints the finish time that course will cost you, plus the split for every kilometre.

Everything runs in your browser. There is no server, no account and no upload; the profile you paste in never leaves the page.

Two companion pages do the neighbouring jobs. The race time predictor on the home page is the flat half on its own — one race result, one predicted time, no course. The marathon split calculator starts from a target time you already believe and works out the splits that hit it, for the marathon only. This page is the one that starts from a race you have run and tells you what a specific course will do to the answer.

How the number is calculated

Two published models, in order, and the page shows you both rather than hiding them behind a name.

Step 1 — move your race to the target distance

The first half uses Peter Riegel's endurance equation, published in 1981 and still the standard baseline in running:

Tflat = T₁ × (D₂ ÷ D₁)C

  • T₁ — the finish time of the race you typed in, in seconds. 45:00 is 2700 s.
  • D₁ — that race's distance, in metres. 10 km is 10000 m.
  • D₂ — the target distance, in metres. The marathon is 42195 m.
  • Tflat — the time you would run for D₂ on a level course.
  • C — the slowdown exponent. The default is 1.06, Riegel's published population value. It is a baseline, not a measurement of any one race: it is the average amount runners slow down as distance grows, and your own race will sit somewhere either side of it.

Step 2 — price every kilometre of the course

The second half uses the energy cost of running as a function of gradient, measured on a treadmill across gradients from −45% to +45% and published by Minetti and colleagues in 2002. In their fit, the metabolic cost of running one metre at gradient i is:

C(i) = 155.4·i⁵ − 30.4·i⁴ − 43.3·i³ + 46.3·i² + 19.5·i + 3.6

  • C(i) — metabolic energy cost of running, in joules per kilogram of body mass per metre travelled.
  • i — the gradient, a decimal ratio of vertical to horizontal distance. A 2% climb is i = 0.02. Flat is i = 0.
  • 3.6 — the value of C at i = 0, the cost of running a metre on the level. Every ratio below is taken against this number.

From there the page does three things, and you can redo all of them on a calculator:

  1. Grade each kilometre. A kilometre with a net change of h metres has gradient i = h / 1000. So +22 m in a kilometre is i = 0.022, a 2.2% climb.
  2. Price each kilometre and add them up. Ek = C(ik) × dk × 1000, with dk in kilometres, and E = ΣEk. The same distance on the level would cost Eflat = 3.6 × D₂.
  3. Scale the time by the ratio. Same effort, more expensive course, proportionally more time: Tcourse = Tflat × E / Eflat. The splits then hand out that time in the same proportion: tk = Tcourse × Ek / E.

A worked example: 10 km in 45:00, marathon on the demo course

The demo the page opens on. Take T₁ = 45:00 = 2700 s at D₁ = 10000 m, targeting D₂ = 42195 m with C = 1.06. The distance ratio is 42195 ÷ 10000 = 4.2195, and 4.21951.06 = 4.6006, so:

  • Flat-course equivalent — 2700 × 4.6006 = 12420.5 s, printed 3:27:01.
  • The demo profile — 169 m of climbing and 146 m of descending across the 42.195 km. It is a made-up shape, not a real race.
  • Course cost — E / Eflat = 1.00395, so the course costs about 0.4% more than the flat.
  • Hill-adjusted race time — 12420.5 × 1.00395 = 12469.6 s, printed 3:27:50. The profile adds 49 s.

The same profile at a 3:30:00 target gives a flat-equivalent of 3:29:10 — the identical figure the marathon split calculator publishes for this profile. The two pages use the same cost model and the same demo course, so they agree, which is the cheapest check available that the arithmetic on this page is not off on its own.

One kilometre on its own, so the direction of the adjustment is visible. At a 2% climb, i = 0.02, the equation gives C(0.02) = 4.0082. Divide by the flat cost: 4.0082 / 3.6 = 1.1134, so that kilometre costs about 11.3% more than the same kilometre on the level. The same arithmetic at −2% gives 3.2289 / 3.6 = 0.8969, worth about 10.3% faster — less than the climb cost you. That asymmetry is why a hilly course is slower overall even when it comes back down to the height it started at.

Getting the numbers for your course

The box wants one number per kilometre: the net change in elevation over that kilometre, in metres, positive for climbing and negative for descending. Three sources usually have it:

  • Your watch. Run any part of the course and read the per-lap elevation column rather than the cumulative chart. A lap with +18 m of gain and −3 m of loss is a net +15 m for that kilometre.
  • The race website. Courses with a reputation for hills usually publish an elevation profile. Read it off at kilometre intervals — you do not need the shape between them, only the change across each one.
  • A route builder. Draw the course and use the per-kilometre elevation readout, then subtract each kilometre's cumulative figure from the one before it.

If you only have the totals — say 300 m of climbing spread over three climbs — do not guess the shape. Enter what you know and leave the rest flat; the page will tell you what the profile it received is worth, and you can see how much of your time is being spent on the parts you could not describe. If you have no profile at all, press Flat course and the page becomes the flat prediction on its own, which is the honest answer when you do not know the course.

Supported range and limits

  • Distances: 100 m to 100 miles (0.0622 – 160.9344 km), on both the race you have run and the race you are aiming at.
  • Units: kilometres or miles for each distance independently, and for the split labels.
  • Time: hours, minutes and seconds, up to 47:59:59.
  • Course profile: one net elevation change per kilometre of the target course, in metres. Missing kilometres count as flat; entries past the target distance are ignored.
  • Exponent: 0.90 to 1.40, default 1.06.
  • Cost: none. No account, no email, no paywall, no daily limit, no request to a server.
  • Privacy: every number is computed in your browser. Nothing you type is sent anywhere or stored — reload the page and it is gone.
  • Works offline once the page has loaded, and on a phone.

What this page deliberately does not do

  • No weather correction. Heat, humidity and wind move race times by more than most hills do, and the published models for them are not in a form I can apply without inventing coefficients. A hot day is not modelled, and the number you get is a cool-day number.
  • No age grading and no sex factors. Both need a published factor table, and this page has no source for one it can stand behind. Rather than ship a made-up coefficient, it leaves them out.
  • No fatigue model. The cost of a kilometre at 40 km is treated as identical to the cost of the same kilometre at 2 km. Real marathons do not work that way, and the back half is where this page's number is weakest.
  • No walk-run transitions. The cost model is a running model. On very steep gradients a walk can be more economical than a run, and this page will still price that kilometre as a run.
  • No course presets. There is no "Boston" or "Berlin" option. A preset would mean shipping a per-kilometre profile for a real race, and courses are re-measured; the box stays yours to fill.
  • No two clocks. This page carries one clock. If your race is chip-timed and you want to know what the gun clock above the kilometre markers will read while your watch reads this table, the splits calculator carries both clocks side by side with a start-line-gap estimate.
  • No printable band. Nothing here is drawn to be cut out and worn. The marathon pace band prints a cumulative clock for every kilometre of a 42.195 km target, and the half marathon split calculator does the same for 21.0975 km.
  • One model, stated. The Minetti coefficients come from a treadmill study of ten runners and are a fit, not a law. The paper reports a level cost of about 3.40 J·kg⁻¹·m⁻¹ while the published polynomial returns 3.6 at zero gradient; this page uses the polynomial as published, so the two do not agree exactly on the flat. Gradients outside −45% to +45% are clamped to that range, because the study did not go further.

Questions

What is a race time calculator?

A race time calculator answers one question: what will I actually run? Two things decide the answer, and most calculators only take one of them. The first is your fitness, which you demonstrate by having run a race. The second is the course, which is decided by how much climbing and descending it puts in front of you. This page takes both, and returns a finish time plus the split for every kilometre of the target distance.

How is the hill adjustment worked out?

In two steps, both of them arithmetic you can redo. First the page predicts the time you would run for the target distance on the flat, using the Riegel endurance equation on the race you typed in. Then it prices the course: each kilometre is turned into a gradient, the published metabolic cost of running at that gradient is looked up, and the flat-course time is scaled by the ratio of the whole course's cost to the cost of the same distance on the level. A course that costs one per cent more energy costs about one per cent more time.

Why is the course time slower than the flat-course time?

Because on a gradient the energy cost of running is not symmetric. At plus two per cent the cost is 11.3 per cent above the level; at minus two per cent it is only 10.3 per cent below it. The climbs take more than the descents hand back, so a course that climbs and drops the same number of metres is still slower than a flat one of the same length. On the demo profile above, 169 metres of climbing and 146 metres of descending cost about 49 seconds over the marathon.

What is the slowdown exponent C?

It is the exponent in the Riegel equation, and it sets how much slower you get as the distance grows. The default is 1.06, which is Riegel's published population value and the usual baseline. It is a baseline, not a measurement of any race you have run: some runners fade more over a long race and some fade less. If you would rather anchor it on yourself, put the same two-race result into the predictor on the home page, which solves for your own exponent; this page uses the flat value and says so.

Where do I get the elevation for each kilometre?

Three places usually work: the race website's course page if it publishes a profile, the elevation chart your GPS watch produces from a training run on the course, or a route builder's elevation readout. Take the net change per kilometre, the number the watch shows for each lap, rather than the cumulative elevation, and paste them in order. Kilometres you leave out count as flat, and anything past the target distance is ignored.

Does it work for distances other than the marathon?

Yes. Both the race you have run and the race you are aiming at are free numbers with a unit switch, anywhere from 100 metres to 100 miles. The profile box is always metres per kilometre whichever unit the splits are shown in, and the last segment of a race that does not end on a whole kilometre is priced as flat. Set the target to 21.0975 kilometres and the page is a half marathon calculator; set it to 10 kilometres and it is a 10K one.

Is this the same as the predictor on the home page?

No, and the difference is the whole point of this page. The predictor on the home page moves one race result along the distance curve and stops there: the number it returns is a flat-course number, and it says so. This page takes that number and then charges you for the course. If your target race is flat, the two agree to within rounding, and you can check that here by pressing Flat course.