For Everyone Training & analysis

CSS calculator (Critical Swim Speed)

How to run a CSS test in the swim, valid protocols, and how the calculator produces your swim threshold.

What it does

CSS (Critical Swim Speed) is your sustainable threshold pace in the water, used as the anchor for every swim training zone and swim pacing prescription. The CSS calculator takes the results of a structured swim test and outputs your CSS pace in seconds per 100 m plus your SDI score (a swim economy proxy derived from stroke rate and distance per stroke).

URL: /calculators/ then open CSS. Or open it directly at /static/calculators/css_calculator.html.

It is also wired into step 1 of the race planning wizard.

The calculator's three input modes

The CSS calculator supports three input shapes. Pick the one that matches the test you ran — distances and exact times are yours to choose.

1. Two-distance time trial — any pair of distances

The math: CSS pace per 100 m = (d2 - d1) / (t2 - t1), scaled to a per-100 figure. As long as the two distances differ enough to give a useful slope, any pair works.

2. 3-rep set with SR + DPS (optional)

For each of three repeats:

Outputs an averaged CSS plus the SDI economy score. Use this when you want a stroke-economy reading alongside the threshold pace — useful for tracking technique drift across a season.

3. Single 1000 m time trial

If only one TT is available, enter the total time and the calculator estimates CSS from it. Less accurate than a real two-distance test but useful as a baseline when a structured protocol isn't possible.

Canonical two-distance protocols

The two most commonly used distance pairs:

Standard 400 + 200 (long rest)

This is the protocol seeded in the CSS Test assessment and step 1 of the race planning wizard.

100 + 500 (60 seconds rest)

A session-friendly compressed variant — total test ~11 min after warm-up:

Notes specific to this variant:

Other valid protocols (less common but supported)

The calculator doesn't care which distances you pick — pair anything you can pace reliably. A few that come up:

What to keep consistent

Whatever protocol you pick, stick with it across the season for the same athlete. CSS values from different protocols are NOT directly comparable for trend tracking — small differences in anaerobic load between protocols shift the CSS estimate by a few seconds per 100 m. The athlete's relative improvement month-over-month is the signal; protocol-swapping is noise.

Outputs

When you run the calculator from inside the race planning wizard, the output is saved as a CalculatorResult linked to the race; the wizard dashboard shows CSS and SDI as the step 1 key values.

How often to retest

See also: Yousuli swim zones, Glossary: FTP, CSS, threshold pace, CSS Test assessment.

Last updated May 13, 2026

Still stuck? Ask us a question and we'll write up an answer.

Ask a question