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
| Constant | Value | Where it comes from |
|---|---|---|
| Mile in kilometres | 1.609344 km | Exact by definition since the 1959 international yard and pound agreement. |
| Marathon | 42.195 km | The standard marathon distance in the World Athletics competition rules. |
| Half marathon | 21.0975 km | Exactly half the marathon distance. Not rounded to 21.1 anywhere on this site. |
| Marathon in miles | 26.2188 mi | 42.195 divided by 1.609344. Displayed to four decimals, stored at full precision. |
| Riegel exponent | 1.06 | Riegel (1981), source 1 below. |
| Treadmill grade for outdoor equivalence | 1 percent | Jones and Doust (1996), source 2 below. |
| Negative split ramp | 3 percent either side of average | A presentation choice, explained under negative splits below. |
| Track lap | 0.4 km | One 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.
| Chart | Finish times | Row every | Grouped by | Split columns |
|---|---|---|---|---|
| 1 mile | 3:40 to 20:00 | 10 s | 1 min | 400 m, 800 m, 1200 m |
| 5K | 12:00 to 1:00:00 | 30 s | 5 min | 1 mile, 2 miles |
| 8K | 20:00 to 1:20:00 | 30 s | 5 min | 1 mile, 5K |
| 10K | 25:00 to 1:40:00 | 1 min | 5 min | 5K |
| 15K | 40:00 to 2:30:00 | 1 min | 10 min | 5K, 10K |
| 10 mile | 50:00 to 2:40:00 | 1 min | 10 min | 5K, 10K |
| Half marathon | 1:00:00 to 3:30:00 | 1 min | 15 min | 5K, 10K, 10 mile |
| Marathon | 2:00:00 to 7:00:00 | 1 min | 30 min | 5K, 10K, Half marathon, 30K |
| 50K | 2:30:00 to 13:00:00 | 5 min | 1 h | 10K, 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.
| Page | Parameter | Meaning |
|---|---|---|
| Pace calculator | solve | What to solve for: pace, time or distance. |
| Pace calculator | unit | Distance unit, km or mi. |
| Pace calculator | paceunit | Pace unit, min/km or min/mi. |
| Pace calculator | distance | The distance as typed, read in the unit above. |
| Pace calculator | preset | The race the distance was picked from, such as 5K. Used while the distance still matches it within 0.1 percent. |
| Pace calculator | time | Finish time. |
| Pace calculator | pace | Pace, in the pace unit above. |
| Finish time calculator | d | Distance, a race name or a number. |
| Finish time calculator | p | Pace. |
| Finish time calculator | pu | Pace unit, min/km or min/mi. |
| Race time predictor | d | Distance of the known race, from 1500 m to the marathon. |
| Race time predictor | t | Time of the known race. |
| Splits calculator | d | Race name or distance, up to 500 km. |
| Splits calculator | t | Goal time. |
| Splits calculator | u | Split unit, km or mi. |
| Splits calculator | s | Strategy, even or negative. |
| Treadmill pace converter | v | The value typed, a belt speed or a pace. |
| Treadmill pace converter | su | Speed system, mph or kph. |
| Treadmill pace converter | dir | speed when the value is a belt speed, pace when it is a pace to turn into a belt speed. |
| Pace converter | p | The value typed. |
| Pace converter | from | What 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 charts | t | Finish 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
- Riegel, Peter S. (1981). Athletic Records and Human Endurance. American Scientist, 69(3), 285-290. PubMed record.
- 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.
- 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.
- World Athletics. Competition and Technical Rules, road races. Book of rules. Used for the marathon and half marathon distances.
- 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.