Skip to content
FitMetricLab
Privacy
Cycling

Training Stress Score (TSS) Calculator

Calculate Training Stress Score from workout duration, Normalised Power, and FTP.

Updated

Embed this calculator

Paste this HTML into your site. The calculator runs in an iframe and updates live for your visitors.

Preview embed →

Cite this tool

What this tool does

This calculator computes Training Stress Score, the training-load metric developed by Andrew Coggan with Hunter Allen, from a workout's duration, Normalised Power and Functional Threshold Power. One hour at threshold scores 100 by definition. Alongside the score it reports the Intensity Factor (Normalised Power divided by FTP) and the TSS accumulated per hour, which is the same session expressed as an intensity independent of how long it lasted.

Export Report

How would you like to export your results?

Formula Used
Duration in hours
Normalised power in watts
Functional threshold power in watts

Disclaimer

This calculator is for educational and informational purposes only. It does not provide medical, nutritional, or training advice. Results are mathematical estimates and may not reflect individual circumstances. Consult a qualified coach, registered dietitian, medical professional, or physiotherapist for personal guidance.

How the Training Stress Score Calculator works

Enter how long you rode, your Normalised Power for the session, and your current FTP. The tool combines duration and intensity into a single score anchored so that one hour at threshold is exactly 100 points (TrainingPeaks, What is TSS). It also reports the Intensity Factor and the score per hour, so a long easy ride and a short hard one can be told apart even when their totals match.

The formula

The canonical form is TSS = (duration_seconds × NP × IF) ÷ (FTP × 3600) × 100, where IF = NP ÷ FTP. Since this tool takes duration in hours, the two 3600s cancel and it computes TSS = duration_hours × NP × IF ÷ FTP × 100. Working the default: IF = 210 ÷ 220 = 0.955, and TSS = 1.5 × 210 × 0.955 ÷ 220 × 100 = 137.

Substituting NP = IF × FTP shows what the formula really is: TSS = hours × IF² × 100. The score rises with the square of intensity and only linearly with time, which is why an hour at IF 0.95 scores 90 while two hours at IF 0.67 scores the same 90 for twice the saddle time. It also gives a quick check on any TSS figure: divide by the hours and you should get IF² × 100, which for the default is 0.955² × 100 = 91 points per hour.

Where this method is most accurate

TSS assumes FTP is current and honestly measured, typically via a 20-minute or ramp test. Normalised Power comes from power sampled every second and rolled through a 30-second average raised to the fourth power, so a head unit and an analysis package can disagree slightly on the same ride. The model was built around steady-state and interval work roughly in the 30-minute to 3-hour range; very short maximal efforts and rides beyond about six hours sit outside where the intensity-to-cost relationship was established.

Reading the score across riders and sports

Because everything is scaled to your own FTP, 100 TSS means the same relative demand for a professional and a beginner even though the wattages differ enormously. That is the metric’s main strength and the reason it travels internationally without unit conversion: watts are watts, and the score is dimensionless. It does not travel between sports, though. Running and swimming variants substitute pace or Grade Adjusted Pace for power and are not interchangeable with this calculation (Allen and Coggan, Training and Racing with a Power Meter).

What this tool does not do

It does not measure fitness, prescribe zones, or recommend how often to ride. It does not know about strength training, sleep debt, or nutrition, all of which change what a given score costs you. Identical scores from two riders do not mean identical fatigue. It also does not check whether the NP and FTP you entered are plausible together: an NP well above FTP for several hours will produce a number the arithmetic accepts and physiology would not.

Disclaimer

This calculator is an educational tool for exploring the Training Stress Score concept as published by Andrew Coggan. It is not medical, coaching, or performance advice. Entries and outputs are estimates based on user-supplied data. Consult a certified coach or sports-medicine professional before modifying training volume or intensity.

Questions

What is Normalised Power and how does it differ from average power?
Normalised Power weights the ride to reflect the disproportionate metabolic cost of surges. A variable ride and a steady ride can share an average power while the variable one carries a higher NP. It is computed by taking a 30-second rolling average of power, raising each value to the fourth power, averaging those, and taking the fourth root. Average power ignores variability entirely, which is why TSS uses NP instead.
Why does TSS rise so fast with intensity?
Because it scales with the square of Intensity Factor. Written out, TSS = hours × IF² × 100, so doubling the intensity of a ride quadruples the score for the same duration while doubling the duration only doubles it. An hour at IF 0.95 and two hours at IF 0.67 both come to about 90 points.
What TSS values correspond to different sessions?
An hour at FTP is 100 by definition, which anchors everything else. Recovery spins commonly land in the 20 to 40 range, tempo work around 50 to 80, threshold sessions 80 to 120, and long endurance rides anywhere from 150 upward depending on how long you are out. These are descriptions of what typical sessions produce, not targets, and tolerance varies with training history and weekly load.
How often should FTP be retested?
Often enough that it is not lying to you. FTP moves measurably within four to eight weeks of focused training or detraining, and many structured plans reassess every six to eight weeks. A stale low FTP inflates Intensity Factor and therefore every subsequent score, making a block look harder than it was.
Can TSS be used for running or swimming?
Not this version. The power-based formula here is specific to cycling. Running variants substitute pace or Grade Adjusted Pace and swimming variants use pace zones, adjusting the underlying maths for each sport's demands. The scores are designed to be roughly comparable in meaning, but they are not the same calculation.
How much recovery does a given TSS need?
A widely repeated rule of thumb puts sessions under about 150 TSS at less than a day, 150 to 300 at one to two days, and above 300 at two or more days before hard work again. Treat that as folklore with a sensible shape rather than a measured finding: recovery depends on training status, sleep, nutrition and what the preceding days contained, none of which a single number can see.
Does TSS work the same for every rider?
In relative terms, yes, which is the point of it. Everything is scaled to your own FTP, so 100 points describes the same demand for a professional and a beginner even though the wattages are nothing alike. It is also unit-free, so there is no metric or imperial version to convert between. What it cannot do is say that two riders on the same score are equally tired.

Sources & Methodology

Implements TSS = (duration_seconds × NP × IF) ÷ (FTP × 3600) × 100 with IF = NP ÷ FTP. Duration is entered in hours, so the two 3600 constants cancel and the computed form is duration_hours × NP × IF ÷ FTP × 100. Substituting NP = IF × FTP reduces this to hours × IF² × 100, which is why TSS per hour equals IF squared times 100. The metric was developed by Andrew Coggan with Hunter Allen and is anchored so that one hour at FTP scores 100.

Spotted something off?

Calculations or display — let us know.

More in Cycling

View all 10 →

Add to Home Screen

Safari installs apps from the Share menu rather than a prompt:

  1. Tap Share in the browser bar.
  2. Scroll to Add to Home Screen.
  3. Tap Add.

Your browser installs apps from its own menu:

  1. Open the browser menu ( or ···).
  2. Choose Install app, or Add to Home screen.
  3. Confirm.

Some browsers only offer this after a visit or two, and a few do not support it at all.

Safari on macOS adds apps to the Dock rather than prompting:

  1. Open the File menu.
  2. Choose Add to Dock.
  3. Confirm the name, then click Add.

Add to Dock arrived in Safari 17 (macOS Sonoma). On earlier versions the option is not present.

It opens without browser chrome and keeps working with no connection. Nothing you enter ever leaves the device.