Free Tool

Critical Swim Speed Calculator — CSS Pace from 400 & 200

Swim a hard 400 and a hard 200 (same stroke, same pool). Enter both times to get your critical swim speed pace per 100, documented training zones, and projected times at CSS.

Labels paces in yards (SCY) or meters (SCM/LCM). Use the same pool for both trials.

400 time-trial * (h : m : s)

200 time-trial * (h : m : s)

Default example: 400 in 6:00, 200 in 2:50 → CSS 1:35 /100. Rest fully between trials.

CSS pace /100

—

Critical swim speed

Speed

—

200 ÷ (T400 − T200)

Time difference

—

T400 − T200 (must be positive)

Enter your 400 and 200 times. Everything updates as you type.

Training zones

Zone Offset Pace /100

Projected times at CSS

Distance Time

How critical swim speed is calculated

Critical swim speed is a two-point field estimate from a maximal 400 and a maximal 200 (same stroke, same pool, full recovery between). The identities used here are:

  • pacePer100Sec = (T400 − T200) ÷ 2
  • speed = 200 ÷ (T400 − T200) (course units per second)

Example: T400 = 360 s (6:00), T200 = 170 s (2:50) → difference 190 s → CSS pace 95 s = 1:35 /100, speed ≈ 1.053 units/s.

The 400 must be slower than the 200. If the times are equal or inverted, the model is invalid and this tool reports an error instead of inventing a pace.

Documented training-zone offsets

Zone paces are CSS plus a fixed offset in seconds per 100. These are common coaching conventions for set design — not lab lactate or VO₂max thresholds.

Zone Offset Typical use
Easy CSS+6s/100 Warm-up, recovery, aerobic base
Steady CSS Continuous endurance at threshold pace
Threshold CSS CSS-pace / threshold sets
VO2 CSS−4s/100 Hard aerobic / VO₂ intervals
Sprint CSS−8s/100 Speed / race-pace reps

This tool does not invent stroke factors, turn penalties, or yard↔meter “course conversion” fudge. For pool pace, splits, and send-offs from a single swim, use the swim pace calculator.

How to run the test

Warm up thoroughly. Swim an all-out 400, rest fully (often 5–15 minutes depending on fitness), then an all-out 200 in the same stroke and the same pool. Enter both clock times here. Retest every few weeks after a consistent training block — one wild day is not a new threshold.

CSS is a field estimate for training pace, not a medical or lab VO₂ verdict. Open-water, current, and mixed-stroke sessions will not match a clean pool TT.

Keep going

A note on these numbers. The math is exact for the times you type. CSS is a training estimate, not a medical test or race prediction guarantee. Everything runs in your browser; nothing you type is uploaded.