HealthCalcPlus

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

Lactate Testing

Two lactate readings in, threshold pace out. Type the two consecutive stages of your own incremental test that straddle 4.0 mmol/L — a speed and a blood lactate reading for each — and the page returns the speed and the pace at 4.0 mmol/L, the same straight line at every 0.5 mmol/L, the error a 0.5 mmol/L reading error puts on that pace, and a reverse lookup that turns a pace back into the lactate your line implies. It opens on a two-stage example, 12.0 km/h at 2.4 and 14.0 km/h at 5.1 mmol/L. The 4.0 is a named reference, cited below, not a number this site invented.

The two stages that bracket 4.0 mmol/L

Stage 1 — the last one below 4.0

mmol/L

Stage 2 — the first one above 4.0

mmol/L

Speeds between 3.0 and 30.0 in whichever unit the test reported; lactate between 0.3 and 20.0 mmol/L. Stage 2 has to be the harder stage with the higher reading, and the pair has to straddle 4.0: one below, one above.

or press Enter

Your 4.0 mmol/L threshold

4:33 / km

Threshold speed
—
In mph
—
Pace / km
—
Pace / mile
—
Where 4.0 sits
—
Reading error, 0.5 mmol/L
—

Your line at every 0.5 mmol/L

Lactate mmol/L km/h mph Pace / km Pace / mile

The other direction: a pace back to a lactate

Type a pace you have run and the page reads your own line at that speed — the lactate it implies, and how far the pace sits from the 4.0 mmol/L pace.

Type a pace in minutes and seconds per kilometre and the page reads your own line at that speed.

What this page does

Lactate testing produces a set of readings: a speed and a blood lactate concentration for each stage of an incremental test. The question the readings are usually asked is where the curve crosses a threshold, and the answer only exists once a threshold has been named, because there are several and they do not coincide. This page names one — the fixed 4.0 mmol/L reference — cites the paper it comes from, and then does the one piece of arithmetic that gets from your readings to a speed: the straight line between the two consecutive stages that straddle 4.0, read at 4.0.

No other page on this site takes a blood lactate reading. The rest of the site is pace, time and distance (race pace calculator), split tables (running split calculator), treadmill conversion (treadmill pace conversion) and heart rate (heart rate zones by age). This is the only page that starts from millimoles per litre, and it returns a speed and a pace and nothing else.

What it does not do is tell you what training to run. A threshold pace is a number; a plan is a set of decisions about your week, and this page has no data to make them from. The last section says that in full.

Everything runs in your browser. Nothing you type is sent to a server, there is no account and no upload.

The test, and what the two numbers mean

A lactate test is an incremental test with blood sampling: the speed rises in steps, a sample is taken at the end of each step, and each sample is read as a concentration in millimoles per litre. The sampling is the part that makes it a lactate test rather than a ventilatory one — the 2026 review cited below puts it plainly, that blood sampling identifies the lactate thresholds while gas exchange identifies the ventilatory ones.

This page does not run the test and does not prescribe one. Stage length and step size belong to whoever runs it, and they are not neutral: Shen, Zou, Chen and Wu (2026), How much of the incremental protocol does a lactate threshold need? Agreement between three-stage and five-stage testing, Annals of Medicine 58(1):2737006, DOI 10.1080/07853890.2026.2737006, rebuilt the last two stages of a five-stage swimming protocol from the first three, and six of the seven lactate indices it recomputed did not meet equivalence with the full protocol. Two readings from two differently run tests are two different measurements, so the pair you type has to come from one test.

What the page needs from you

  • Two consecutive stages — the last stage whose reading is below 4.0 mmol/L, and the first whose reading is above it. Consecutive matters: the closer the two points, the less the curve bends between them.
  • The speed of each — in km/h or mph, whichever the test reported. The page converts, so the two stages may even be typed in different units.
  • The lactate of each — in mmol/L, exactly as the analyser printed it, without rounding it to a whole number first.

Reading the result

If both readings are below 4.0, the test stopped before the threshold and no arithmetic can recover it. If both are above, the first stage was already past it. The page refuses both cases and says which one it is, because a page that extrapolated off the end of your data would print a number with nothing behind it. The refusal is the honest output there, and it is deliberate.

When the pair does straddle 4.0, the page prints where the crossing sits as a share of the gap between your two stages. A crossing at 59 per cent of the way from stage 1 to stage 2 means the threshold speed is closer to the harder stage, which is the usual shape: lactate rises faster near the top of a test than at the bottom.

Two thresholds, and the one this page computes

There is no single thing called the lactate threshold. Maffulli N., Padulo J. and Oliva F. (2026), Noninvasive assessment of the anaerobic threshold in endurance athletes: an evidence-based narrative review of methods, validity, and field feasibility, British Medical Bulletin 160(1):ldag037, DOI 10.1093/bmb/ldag037, prints the terms side by side, and this page quotes its wording rather than paraphrasing it:

TermThe review's definition
LT1, the aerobic threshold“First sustained rise in blood lactate above baseline during incremental exercise”
LT2, the anaerobic threshold“Highest intensity at which lactate production and clearance remain in equilibrium”
OBLA“Fixed blood lactate reference (commonly 4 mmol/L)”
MLSS“Highest constant load at which blood lactate remains stable over time”

Those are four different numbers for the same athlete on the same day, and the curve-fitting methods (Dmax among them) give more. A page that said “your lactate threshold” without saying which one would be hiding that, so this page names its version in the heading and in the answer: the fixed 4.0 mmol/L reference.

Where the 4.0 comes from

Heck H., Mader A., Hess G., Mücke S., Müller R. and Hollmann W. (1985), Justification of the 4-mmol/l Lactate Threshold, International Journal of Sports Medicine 6(3):117–130, DOI 10.1055/s-2008-1025824 — the paper whose title is the number. The 2026 review still lists OBLA as a fixed blood lactate reference, commonly 4 mmol/L, which is the same convention under its other name.

What that buys, and what it costs. It buys a computable answer: a fixed concentration needs only the crossing, so two readings are enough, while LT1, LT2 and MLSS each need their own criterion — a baseline, an equilibrium, a series of constant-load trials. It costs the personal claim: 4.0 mmol/L is a concentration chosen in 1985, not a turn point measured on your curve, so two athletes who cross 4.0 at the same speed can sit on different sides of their own LT2. The page says “the 4.0 mmol/L speed” for that reason and never calls it your lactate threshold.

LT1, LT2, MLSS and Dmax are not computed here. One definition, named and cited, is the whole point.

Turning the threshold speed into a pace

The output is a speed and a pace, and the step between them is unit arithmetic. With v in km/h:

pkm = 3600 ÷ v    pmi = 3600 ÷ (v ÷ 1.609344)

vmph = v ÷ 1.609344    vm/s = v ÷ 3.6

1 mile is 1609.344 m exactly, fixed by the 1959 international yard and pound agreement, so the mile figures are a definition rather than a measurement. Nothing in this section is a model.

A worked example: 12.0 km/h at 2.4, then 14.0 km/h at 5.1

The crossing is (4.0 − 2.4) ÷ (5.1 − 2.4) = 1.6 ÷ 2.7 = 0.5926 of the way from stage 1 to stage 2. The speed there is 12.0 + 0.5926 × 2.0 = 13.185185 km/h, which the page prints as 13.19. The pace is 3600 ÷ 13.185185 = 273.03 s, printed 4:33 per kilometre; per mile it is 3600 ÷ (13.185185 ÷ 1.609344) = 439.41 s, printed 7:19. The same speed is 13.185185 ÷ 1.609344 = 8.19 mph and 13.185185 ÷ 3.6 = 3.66 m/s.

Read the other way: 4:30 per kilometre is 3600 ÷ 270 = 13.333333 km/h, and the same line puts that at 2.4 + (13.333333 − 12.0) × 2.7 ÷ 2.0 = 4.2 mmol/L. That is the reverse block on the page, and it is the same line divided the other way, not a second model.

This is a conversion, not a prescription. The page tells you the pace at 4.0 mmol/L. It does not tell you to hold it, for how long, how often, or what to do in the rest of the week. The site's own about page says the same thing in one line — it is a calculator, not a training plan — and this page is bound by that.

What moves the number, and why there is no retest interval here

Three things move it, and the page can only see one of them.

1. The straight line between your two points

The real lactate curve bends upward, so a straight line between two stages is exact at the two readings and least wrong near them. The further apart the two stages are, the more the bend between them matters, which is why the page asks for consecutive stages and prints the whole line at every 0.5 mmol/L: the rows you did not measure are visible as interpolations rather than hidden inside one answer.

2. The analyser that printed the readings

Bruno et al. (2026), Validity and Reliability of Portable Blood Lactate Analyzers: A Systematic Review with COSMIN and GRADE Assessment, Sports Medicine - Open 12:37, DOI 10.1186/s40798-026-00979-1. Across 25 studies the portable analysers correlated with laboratory standards at r = 0.95 to 0.99, with an intraclass correlation above 0.90 and a coefficient of variation under 5 per cent; the review treats a standard error of measurement below 0.5 mmol/L as generally satisfactory; and systematic bias at concentrations above 6 mmol/L was common — above the 4.0 crossing, but inside the upper stage that sets your slope.

The page prices that 0.5 mmol/L against your own line. With s the slope in km/h per mmol/L and v the threshold speed, an error e on a reading moves the pace by 3600 ÷ v2 × e × s seconds per kilometre:

Δp = 3600 ÷ v2 × e × s

On the worked example the slope is 2.0 ÷ 2.7 = 0.7407 km/h per mmol/L, so 0.5 mmol/L is 0.3704 km/h, and at 13.185185 km/h that is 7.7 s per kilometre — the figure the page prints in its own error row.

3. The protocol the test was run to

Stage length and step size change where the curve appears to cross 4.0. The Annals of Medicine study cited above is the clean demonstration: rebuild the last two stages of a five-stage test and six of seven indices no longer agree with the full protocol. Two tests run differently are two measurements, and this page cannot tell them apart — it sees the numbers you type and nothing else.

Why there is no retest interval here

Because a number for it would have to come from somewhere, and the sources this page can stand behind do not contain one: they report agreement between methods, not a schedule. A schedule would also be a decision about your training, which this site does not make. The honest substitute is the error bar the page prints for your own two points: a change smaller than that sits inside the noise of the measurement, whatever the calendar says.

Supported range and limits

  • Speed: 3.0 to 30.0 in km/h or mph, per stage. 30.0 km/h is 18.64 mph and 30.0 mph is 48.28 km/h, so read the unit label before reading the answer.
  • Lactate: 0.3 to 20.0 mmol/L, per stage. The page does not convert between whole blood and plasma, between mmol/L and mg/dL, or between analysers.
  • Pairing: stage 2 must be the harder stage with the higher reading, and the pair must straddle 4.0 mmol/L — one reading at or below it, one at or above.
  • Threshold: the fixed 4.0 mmol/L reference only. The value is not adjustable, because the page is about that one named convention.
  • Rounding: speeds to two decimals, paces and the error bar to the nearest second, the share of the gap to a whole per cent. One rounding, at the end.
  • 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 training plan. No sessions, no intervals, no durations, no weekly volume, no programme, and no statement about how long a pace can be held. The site says it in one line on the about page: it is a calculator, not a training plan.
  • No second threshold definition. LT1, LT2, MLSS and Dmax are defined above and then left alone. This page computes the fixed 4.0 mmol/L reference and nothing else, and does not convert a 4.0 result into one of the others.
  • No curve fit. No polynomial, no Dmax, no exponential, no smoothing. The model is the straight line between the two readings you typed, and it is stated on the page rather than buried in the script.
  • No heart-rate zones. Zones cut at a lactate threshold are a different measurement from zones cut at a percentage of maximum, and the heart rate zones by age page says in its own words that its five bands do not line up with them. This page returns a speed and a pace, not a band in bpm.
  • No measurement protocol. The page does not tell you how to run a lactate test, how long a stage should be, or how big a step should be. It takes two readings a test already produced.
  • No race prediction. A threshold pace is not a finish time, and the page does not turn one into the other. Distance, pace and time conversions live on the race pace calculator.
  • No medical advice. A lactate reading is not a diagnosis, a high one is not a warning sign and a low one is not a clearance. If you have a condition that affects exercise, the numbers here are not targets.
  • No calibration correction. The page takes each reading at face value. An analyser that reads high or low gives an answer wrong by exactly that bias, and no arithmetic here can know it.

Questions

What is lactate testing?

Lactate testing is an incremental exercise test with blood sampling: the speed rises in steps, a sample is taken at the end of each step, and each sample is read as a concentration in millimoles of lactate per litre. The readings are used to place a threshold on the curve. This page takes the two consecutive stages that straddle 4.0 mmol/L and reads the speed at that point off the straight line between them.

Which threshold definition does this page use?

The fixed 4.0 mmol/L reference, also called OBLA, the onset of blood lactate accumulation. It is a convention rather than an individually measured turn point. Heck et al. (1985), Justification of the 4-mmol/l Lactate Threshold, International Journal of Sports Medicine 6(3):117-130, DOI 10.1055/s-2008-1025824, is the paper the figure comes from, and a 2026 review in the British Medical Bulletin still lists OBLA as a fixed blood lactate reference, commonly 4 mmol/L. This page computes that one and no other.

What is the difference between the aerobic and the anaerobic threshold?

They are two different points on the same curve. The first lactate threshold, also called the aerobic threshold, is the first sustained rise in blood lactate above baseline during incremental exercise. The second, also called the anaerobic threshold, is the highest intensity at which lactate production and clearance remain in equilibrium. The 4.0 mmol/L reference used here is neither of those turn points: it is a fixed concentration, which is why the page names it instead of calling it the lactate threshold.

Why does the page need two readings?

Because a line needs two points. One reading on its own says nothing about where the 4.0 mmol/L crossing is. Two consecutive stages, one below 4.0 and one above it, put the crossing between them, and the page reports where in that gap it sits. If both readings are on the same side of 4.0 the page refuses and says why: either the test stopped before the threshold or the first stage was already past it.

Is a straight line between two points accurate enough?

It is an interpolation between two measurements, not a model of the curve. The real curve bends upward, so a straight line between two stages near 4.0 is the least wrong thing two points can support, and it is exact at the two readings themselves. The further apart your stages are, the more the bend matters. The page prints the whole line at every 0.5 mmol/L and the error bar for your own slope so you can see how much of the answer rests on interpolation.

What is the error on the number?

Two things move it. Your readings carry measurement error: a 2026 systematic review of portable analysers in Sports Medicine - Open reports correlations of 0.95 to 0.99, an intraclass correlation above 0.90 and a coefficient of variation under 5 per cent, treats a standard error of measurement below 0.5 mmol/L as generally satisfactory, and finds systematic bias above 6 mmol/L common. The page prices a 0.5 mmol/L error on each reading against your own slope and prints the result in seconds per kilometre. The other thing is the protocol: stage length and step size change the result, so two tests run differently are not the same test.

How often should I retest?

This page does not give an interval, and that is deliberate. An interval is a schedule, and a schedule is a decision about your training, which this site does not make. What it can give you is the noise floor: the error bar it prints is how far your own two readings can move the answer, so a change smaller than that is not a change you can read out of a test.

Does this page tell me what pace to train at?

No. It returns the speed and the pace at 4.0 mmol/L and stops there. No sessions, no intervals, no durations, no weekly volume, no programme, and no claim that holding this pace is useful or safe for you. A pace is a number; a plan is a set of decisions about your training, and this page has no data to make them from.