Methodology, Constants and Sources

Every number on PaceLab comes from one of the formulas on this page, applied to one of the constants on this page. Nothing is looked up in a table someone else published.

Quick answer:pace is time divided by distance, one mile is exactly 1.609344 km, a marathon is exactly 42.195 km, and race-time equivalents use Riegel's formula t2 = t1 x (d2 / d1) ^ 1.06. Times are computed in seconds at full floating-point precision and rounded only when displayed. Everything below sets out where those figures come from and where each one stops being reliable.

Constants

Fixed values used by every calculator and chart on PaceLab
ConstantValueWhere it comes from
Mile in kilometres1.609344 kmExact by definition since the 1959 international yard and pound agreement.
Marathon42.195 kmThe standard marathon distance in the World Athletics competition rules.
Half marathon21.0975 kmExactly half the marathon distance. Not rounded to 21.1 anywhere on this site.
Marathon in miles26.2188 mi42.195 divided by 1.609344. Displayed to four decimals, stored at full precision.
Riegel exponent1.06Riegel (1981), source 1 below.
Treadmill grade for outdoor equivalence1 percentJones and Doust (1996), source 2 below.
Negative split ramp3 percent either side of averageA presentation choice, explained under negative splits below.
Track lap0.4 kmOne lap of lane 1 on a standard 400 m track, used for lap times on the pace converter.

Formulas

Pace. pace = time / distance. Stored internally as seconds per kilometre. A min/mile pace is converted to seconds per kilometre by dividing by 1.609344 before any other arithmetic happens, so switching the display unit never changes a result.

Speed.kph = 3600 / (seconds per km). mph = kph / 1.609344. The two are always derived from the same underlying pace rather than from each other's rounded display value.

Race-time equivalents.t2 = t1 x (d2 / d1) ^ 1.06, where t1 is a known time over distance d1 and t2 the predicted time over d2. This is Riegel's formula and it is the model behind the race time predictor, the equivalent-times table on the marathon pace chart and the equivalents on every goal-time page.

Even splits. Each segment gets total time divided by total distance. The final partial segment of a marathon, the 195 metres past the 42 km marker, is included, so the last row of every split table lands exactly on the goal time rather than near it.

Split columns. split = finish time x split distance / race distance, both distances in km. This is the elapsed time at an intermediate point at even pace, with a worked example under split columns below.

Accepted time formats

Every time field on PaceLab goes through the same parser, so a format that works in one tool works in all of them, including the t and time values in a shared link.

Clock style. 3:47:30 is hours, minutes and seconds and 25:30 is minutes and seconds. Seconds may carry decimals.

A plain number is minutes. 25 means 25:00 and 25.5 means 25:30, matching the 25:00 placeholder in the fields. Type 0:25 for 25 seconds. A long number such as 2500 stays 2,500 minutes instead of being guessed as 25:00, because that guess would be wrong as often as it is right.

Unit words. 1h45, 1h45m, 1h 45m 30s, 45m, 45min and 90s all work, as do the words hour, minute and second. Units run from large to small and each may appear once. A final number without a unit takes the next unit down, so 1h45 is 1:45:00 and 45m30 is 45:30.

Pace fields take M:SS or decimal minutes, so 5:30 and 5.5 are the same pace, and seconds must stay below 60. The pace converter also reads a 400 m lap time as 1:36, 1:36.4 or plain seconds such as 96, the way lap times are called out on a track.

How distances are read

Distance fields accept a race name or a number. Names are matched regardless of case, spacing or hyphens: 1K, mile, 5K, 8K, 10K, 15K, 10 mile, 20K, half or half marathon, 30K, marathon and 50K. Each name maps to the exact distance in the constants table, so half is 21.0975 km and never 21.1.

A number may carry a unit: 21.1 km, 13.1 mi, 400m or 1500 m. Without a unit it is read in the unit selected next to the field, kilometres unless you switch to miles. A comma works as a decimal mark (21,1), except in front of exactly three digits of metres, where it separates thousands, so 1,500 m is 1.5 km. Zero, negative values and unknown units are rejected rather than guessed, and the line under each field shows how the input was read in both kilometres and miles. Note that 13.1 mi is 21.0824 km, a little short of a half marathon; type half for the exact race.

Split columns in the pace charts

Every chart row is one finish time run at even pace. The split columns give the elapsed time at an intermediate distance on the way to that finish: split = finish time x split distance / race distance. On the marathon pace chart a 3:30:00 finish puts the 5K split at 12,600 x 5 / 42.195 = 1,493.07 seconds, shown as 24:53. The same function produces the pace, speed and split cards above each chart when you look up a time, so a table row and a looked-up time can never disagree. The table below lists the range, row step, row groups and split columns of every chart, read from the same specification the chart pages are built from.

Range, row step, groups and split columns of the nine pace charts
ChartFinish timesRow everyGrouped bySplit columns
1 mile3:40 to 20:0010 s1 min400 m, 800 m, 1200 m
5K12:00 to 1:00:0030 s5 min1 mile, 2 miles
8K20:00 to 1:20:0030 s5 min1 mile, 5K
10K25:00 to 1:40:001 min5 min5K
15K40:00 to 2:30:001 min10 min5K, 10K
10 mile50:00 to 2:40:001 min10 min5K, 10K
Half marathon1:00:00 to 3:30:001 min15 min5K, 10K, 10 mile
Marathon2:00:00 to 7:00:001 min30 min5K, 10K, Half marathon, 30K
50K2:30:00 to 13:00:005 min1 h10K, Half marathon, Marathon

How the nearest chart row is chosen

Each chart page has a find-your-time field, and the same time can be passed in the address as ?t=. The exact pace for that time is always calculated directly, so it is right even when the time falls between two rows. The table then marks the closest row: the time is measured from the first row in steps of the chart's row spacing and rounded to the nearest step, and a time exactly halfway between two rows goes to the earlier, faster row. On the marathon chart, which has a row every minute, ?t=3:47:30 gives the exact pace of 5:23 per km and marks the 3:47:00 row.

A time more than half a step before the first row or after the last one still gets its exact numbers, but no row is marked. Every row carries an anchor made from its finish time with the colons swapped for hyphens, so #3-47-00 on the marathon chart jumps straight to that row, and each group of rows has its own anchor for the jump links above the table.

Negative split ramp and rescaling

The splits calculator offers even and negative splits. Negative splits ramp the segment pace in a straight line from 3 percent slower than average on the first full kilometre or mile to 3 percent faster on the last full one. The short final segment, such as the last 0.0975 km of a half marathon, continues the same line. Because that final segment is shorter than the rest, the ramped paces do not add up to the goal exactly, so every pace is then multiplied by a single factor, goal time divided by ramped total, and the last elapsed time lands exactly on the goal.

For a 1:45:00 half marathon split in kilometres the average is 4:59 per km, the first kilometre is planned at 5:08 and the 21st at 4:50, and the rescaling factor is 1.00015, which moves each pace by less than a twentieth of a second. That 3 percent is a presentation choice, not a published finding, and it is stated here so nobody mistakes it for one. Plans are generated for distances up to 500 km.

Pace band rounding

The pace band prints the elapsed time at every kilometre or mile marker of the split plan, plus the finish marker (42.2 on a marathon band in kilometres). Each marker time is the unrounded cumulative time of the plan rounded to the nearest second on its own, so rounding never builds up along the band and the last marker always shows the goal: on an even 3:30:00 marathon band in kilometres the 21 marker reads 1:44:31 and the 42.2 marker reads 3:30:00. Marker labels keep at most two decimals and drop trailing zeros.

The band header shows the average pace, goal time divided by distance in the band's unit and rounded to the second, and the halfway time, interpolated inside the segment that contains halfway rather than read off the nearest marker. One printed sheet holds up to six copies of the band, as many as fit the height of an A4 or Letter page, with dashed cut lines between them. Letter is preselected for browser languages in the United States, Canada, Mexico and the Philippines and A4 everywhere else. The PNG download is drawn in your browser from the same numbers.

Shareable URL parameters

The calculators and charts keep their inputs in the page address, so Copy link, a bookmark or the browser history brings back exactly the same result. The address is updated in place after the page has loaded, without a reload. A value that fails its check is ignored and the tool falls back to its opening example, and times and distances accept every format described above. The race-day links from the calculators, charts and goal pages use the same parameters, for example /splits-calculator?d=Marathon&t=3:30:00&u=km#pace-band opens the splits and pace band for a 3:30:00 marathon.

Every URL parameter the tools read and write
PageParameterMeaning
Pace calculatorsolveWhat to solve for: pace, time or distance.
Pace calculatorunitDistance unit, km or mi.
Pace calculatorpaceunitPace unit, min/km or min/mi.
Pace calculatordistanceThe distance as typed, read in the unit above.
Pace calculatorpresetThe race the distance was picked from, such as 5K. Used while the distance still matches it within 0.1 percent.
Pace calculatortimeFinish time.
Pace calculatorpacePace, in the pace unit above.
Finish time calculatordDistance, a race name or a number.
Finish time calculatorpPace.
Finish time calculatorpuPace unit, min/km or min/mi.
Race time predictordDistance of the known race, from 1500 m to the marathon.
Race time predictortTime of the known race.
Splits calculatordRace name or distance, up to 500 km.
Splits calculatortGoal time.
Splits calculatoruSplit unit, km or mi.
Splits calculatorsStrategy, even or negative.
Treadmill pace convertervThe value typed, a belt speed or a pace.
Treadmill pace convertersuSpeed system, mph or kph.
Treadmill pace converterdirspeed when the value is a belt speed, pace when it is a pace to turn into a belt speed.
Pace converterpThe value typed.
Pace converterfromWhat the value is: km or mi for a pace per km or per mile, kph or mph for a speed, lap for a 400 m lap time.
All nine pace chartstFinish time to look up, written as 3:47:30.

Unit preference

The first render of every page uses kilometres, so the page the server builds is the same for everyone. Straight after loading, the tools switch to the distance unit you last chose, saved in your browser as pacelab.unit.v1, or, when nothing is saved, to miles if your browser language is set to a United States locale such as en-US and to kilometres otherwise. A unit set in a shared link wins over both. Switching unit in one tool saves the choice and updates the other tools, including those open in other tabs. The preference never leaves your browser; the full list of what is kept there is on the privacy page.

Rounding

All arithmetic runs on seconds as floating-point numbers. Rounding happens once, at display time: times and paces to the nearest whole second, 400 m lap times to a tenth of a second, and speeds to one or two decimal places. That means a displayed pace multiplied back out by hand can differ from the displayed finish time by up to a second. The underlying value does not.

Where these models stop being reliable

Riegel's formula flatters long-distance predictions made from short races. The formula was fitted to record performances, that is, to athletes trained for both the source and the target distance. A runner whose longest run is 10 km has the speed the formula reads but not the endurance it assumes, so a marathon predicted from a 5K result is routinely optimistic. Predicting downwards, from a marathon or half marathon to a shorter race, is the more trustworthy direction. Treat any marathon figure predicted from a 5K as the fastest end of a range rather than as a target.

The formula has a validity range. Riegel presented it for endurance events rather than for sprints or for multi-day ultras, and it degrades at both ends. For that reason the race time predictor takes known results from 1500 m up to the marathon, and PaceLab does not publish predictions beyond the marathon.

The 1 percent treadmill grade is an average, not your number. Jones and Doust measured the grade at which treadmill running matched the energy cost of outdoor running, and found 1 percent to be the best fit at the faster speeds they tested. It is a group average from a laboratory study, and belt calibration, wind, and running economy all move it. The treadmill pace converter therefore converts speed to pace as a direct arithmetic conversion and presents the grade question separately.

GPS distance and course distance are not the same measurement. Certified road courses are measured along the shortest legal route with a calibrated bicycle, and a small safety factor is applied so that a course can never come out short. A runner who does not hold that shortest line, which is everyone in a crowded field, covers more ground than the certificate says. That is why a watch commonly reads over 42.195 km at a marathon finish, and it is a measurement difference rather than a fault in either device.

What PaceLab deliberately does not calculate

Heart-rate zones. The familiar estimate of maximum heart rate as 220 minus age is a population regression with a large spread around it, and later work proposed different coefficients: Tanaka, Monahan and Seals (2001) put maximum heart rate at roughly 208 minus 0.7 times age, and reported substantial individual variation around that line too. Either way the output is a rough population estimate, not your maximum, and building a personal training zone on it can be badly wrong in both directions. PaceLab does not publish heart-rate zones and does not give medical advice. If you want zones, get them from a measured test rather than from an age formula.

Named training-pace systems. Several widely used training-pace tables are published works with named authorship and are not free to reproduce. PaceLab does not reprint them and does not approximate them with invented coefficients. Where the site discusses training pace at all, it does so in terms that follow from the pace arithmetic on this page.

Sources

  1. Riegel, Peter S. (1981). Athletic Records and Human Endurance. American Scientist, 69(3), 285-290. PubMed record.
  2. Jones, Andrew M. and Doust, Jonathan H. (1996). A 1% treadmill grade most accurately reflects the energetic cost of outdoor running. Journal of Sports Sciences, 14(4), 321-327. PubMed record.
  3. Tanaka, Hirofumi, Monahan, Kevin D. and Seals, Douglas R. (2001). Age-predicted maximal heart rate revisited. Journal of the American College of Cardiology, 37(1), 153-156. PubMed record.
  4. World Athletics. Competition and Technical Rules, road races. Book of rules. Used for the marathon and half marathon distances.
  5. National Bureau of Standards (1959). Refinement of values for the yard and the pound. Federal Register notice defining the international yard as exactly 0.9144 metres, from which one mile is exactly 1.609344 km.

Reporting an error

If a number on this site disagrees with your own arithmetic, that is worth knowing about. The formulas above are all you need to check any of it by hand. Send the page, the input and the figure you expected via contact and it gets checked against the generator.

Last reviewed . Formulas, constants and sources: methodology. Changes to any calculation are logged in the changelog.
Checked against: marathon 42.195 km (World Athletics), 1 mile = 1.609344 km.