Swim CSS Calculator
Find critical swim speed from two time trials with pace.
What it does
Critical swim speed marks the top sustainable aerobic pace. Two all out trials, a short 200 and a longer 400, define the slope of distance over time. That slope is the threshold you can hold with control.
The tool above takes two distances with seconds and returns CSS pace, speed, and a 1500 prediction. The defaults 200 in 150 with 400 in 300 match the worked example, so the page opens showing 1:15 per 100m. Switch to imperial for yards.
CSS is (D2 minus D1) over (T2 minus T1). Here (400 minus 200) over (300 minus 150) is 200 over 150 for 1.333 m/s. Pace per 100 is 100 over speed: 75 seconds, or 1:15. Prediction divides 1500 by speed.
Swim both trials fresh with full rest between, preferably on separate days or with long recovery. Even pacing beats fly and die starts that inflate the slope. Re test every six to eight weeks to reset zones.
This page shows the formula, one full hand checked example at 200/400, a reference table, and practice checks that run through the tool in both unit systems.
How to use
- Pick Metric (m) or Imperial (yd).
- Swim short trial all out and log distance with seconds.
- Rest long, then swim longer trial all out.
- Type both distances with both times.
- Read CSS pace per 100 as the main result.
- Train long sets a touch slower than CSS.
Formula
- D
- Trial distances in m or yd.
- T
- Trial seconds.
- CSS
- Threshold speed in m/s or yd/s.
Longer trial must exceed shorter in both distance and time. Fresh even paced trials give the truest slope.
Worked example
Example: 200 in 150 with 400 in 300
Trials 200 m in 150 s and 400 m in 300 s. Find CSS.
- Gap distance: 400 minus 200 = 200 m.
- Gap time: 300 minus 150 = 150 s.
- CSS: 200 / 150 = 1.333 m/s.
- Pace: 100 / 1.333 = 75 s = 1:15 per 100m.
- Predict 1500: 1500 / 1.333 = 1125 s = 18:45.
- Imperial mirror 218.7/437.4 yd gives 1:09 per 100yd.
Reference table
| Trials | CSS | Pace |
|---|---|---|
| 200/150, 400/300 | 1.333 m/s | 1:15 /100m |
| 200/160, 400/330 | 1.176 m/s | 1:25 /100m |
| 218.7/150, 437.4/300 yd | 1.458 yd/s | 1:09 /100yd |
Limits
- Two trials only. More points need regression.
- Fresh max efforts assumed. Tired trials flatten slope.
- Aerobic threshold only. Sprint sets use other zones.
- Turns and suits shift times. Keep conditions fixed.
Common mistakes
- Swimming trials back to back without rest.
- Starting too fast so second trial collapses.
- Mixing meters with yards in one ratio.
- Using training splits instead of max trials.
- Chasing CSS daily without easy days.
Try it yourself
Quick checks. Answers sit tucked under each question.
200 in 160 with 400 in 330?
CSS 1.176 m/s, pace 1:25 per 100m, predict 21:15.
Yards 218.7/150, 437.4/300?
CSS 1.458 yd/s, pace 1:09 per 100yd, predict 18:52.
Questions
200/400 CSS?
Here 1:15 per 100m.
Use?
Top sustainable aerobic pace for long sets.
Rest?
Long between trials, ideally separate.
Yards?
Same math per 100yd. Here 1:09.
Prediction?
1500 over CSS, or 1650 yd imperial.
Often?
Re test every six to eight weeks.