Critical Swim Speed (CSS) Calculator

Critical swim speed (CSS) is the fastest pace you can hold in the pool while staying mostly aerobic — your swimming threshold, and the single most useful number for pacing sets. Swim two hard time trials, a 400 m and a 200 m, and this calculator fits the classic distance–time line to find your CSS in seconds per 100 m, then lays out CSS, CSS+2s and CSS+5s targets so you can build a session around it. CSS is the swim analogue of running critical speed; pair it with the triathlon pace calculator to turn your per-100 m swim pace into a full race split. Distances default to metres — the pool standard — and nothing is stored.

200 m time trial400 m time trial200 m time trial400 m time trial
Training pace targets relative to your CSS (per 100 m)
Pace targetPer 100 mTypical use
CSS (threshold)1:35 /100mrace-pace / threshold sets
CSS + 2s1:37 /100maerobic endurance reps
CSS + 5s1:40 /100measy / recovery swimming
CSS pace per 100 m1:35 /100m
CSS speed1.053 m/s
CSS pace per 50 m0:48 /50m
What it meansSustainable threshold pace ≈ 1:35 per 100 m

2:50 · 6:00 · 200 m · 400 m

How it works

CSS = (D₂ − D₁) ÷ (t₂ − t₁) → pace per 100 m = 100 ÷ CSS

Over the few-minute range of a 200 m and a 400 m swim, the distance you can cover at a maximal, even effort is almost a straight line against time: distance = CSS × time + c. The slope of that line is your critical swim speed — the speed you could in theory hold for a long time before fatigue forces a slowdown. Two test swims pin the line down: CSS is the extra distance between them divided by the extra time. With the standard test, D₂ − D₁ = 400 − 200 = 200 m, so CSS = 200 ÷ (t₄₀₀ − t₂₀₀) metres per second, and pace per 100 m is simply 100 ÷ CSS. For example, 400 m in 6:00 (360 s) and 200 m in 2:50 (170 s) give CSS = 200 ÷ 190 = 1.053 m/s, which is 95 s — about 1:35 per 100 m. Training a few seconds slower than CSS builds aerobic endurance; holding CSS itself is your threshold work.

Sources

FAQ

What is critical swim speed (CSS)?

CSS is the fastest pace you can sustain in the water while staying mostly aerobic — your swimming threshold. It is expressed as a time per 100 m and is the reference pace most pool sets are built around. Swimming faster than CSS taps a finite reserve and cannot be held for long.

How do I test my CSS?

Swim a maximal, evenly paced 400 m and a maximal 200 m, fully rested, with enough recovery between them (or on separate days). Enter both times. CSS is the 200 m difference in distance divided by the difference in time, so honest, even pacing on both swims gives the most reliable result.

Why a 400 m and a 200 m time trial?

They are the distances in Ginn’s original CSS protocol and bracket the threshold range well. The 200 m difference between them makes the arithmetic clean: CSS = 200 m ÷ (400 m time − 200 m time). You can use other distances, but 400/200 is the established standard.

What are CSS+2s and CSS+5s?

They are training paces a few seconds per 100 m slower than CSS. CSS itself is threshold/race effort; CSS+2s is for aerobic endurance reps; CSS+5s is easy or recovery swimming. Working at the right offset keeps each session at its intended intensity.

How is CSS different from running critical speed?

They use the same two-point distance–time model — CSS is critical speed applied to swimming. The difference is the units: swimmers track pace per 100 m rather than per mile or kilometre. If you also run, comparing the two is a useful cross-check of your aerobic ceiling.

How often should I retest my CSS?

Every 4–6 weeks of consistent swimming, or after a training block, since CSS rises as your aerobic fitness improves. Re-testing keeps your pace targets honest — training to an out-of-date CSS leaves your sets either too easy or too hard.

CSS is an estimate from a two-point model and depends on swimming both time trials at a true maximal, even effort. Treat it as a training anchor, not an exact physiological constant. General information for training, not medical advice.

Embed this calculator

Add the critical swim speed (css) calculator to your website or club page — free, no sign-up. Paste this snippet where you want the calculator to appear:

<script src="https://dialpace.com/embed/critical-swim-speed-calculator.js" async></script>