Critical Swim Speed (CSS): How to Test It and Use It
Critical swim speed is a threshold pace from a 400 m and a 200 m test. The formula, a worked example and the training paces it sets.
Also in Svenska · Deutsch · Español · Français · Italiano · Nederlands · Norsk · Dansk · Suomi · Magyar

Critical swim speed, or CSS, is the fastest pace a swimmer can sustain for a long time without fatigue steadily building, and it is estimated from two time trials. Swim a 400 m and a 200 m, and the CSS pace per 100 m is the difference between the two times divided by two. A swimmer who swims 400 m in 5:40 and 200 m in 2:40 has a CSS of 1:30 per 100 m. That one number then sets the pace for most of their aerobic and threshold training.
What is critical swim speed?
Critical swim speed is the swimming speed that could in theory be held indefinitely; in practice it sits close to the lactate threshold, and a well-trained swimmer can hold it for around 30 minutes. The idea comes from the critical power model in exercise physiology. Wakayoshi and colleagues applied it to competitive swimmers in 1992 and found that the critical velocity from timed swims correlated closely with the speed at a blood lactate of 4 mmol/L and with 400 m performance.
The two-distance version used on pool decks is a simplification of that model. It assumes distance and time fall on a straight line, so two points are enough to draw it, and the slope of that line is the CSS.
How to calculate CSS
CSS as a speed is the extra distance divided by the extra time it took:
CSS (m/s) = (400 − 200) ÷ (T400 − T200)
Coaches usually want a pace rather than a speed, and with both times in seconds the formula simplifies to:
CSS pace per 100 m = (T400 − T200) ÷ 2
Worked example
- 400 m in 5:40 = 340 seconds
- 200 m in 2:40 = 160 seconds
- The extra 200 m took 340 − 160 = 180 seconds
- CSS pace: 180 ÷ 2 = 90 seconds = 1:30 per 100 m
- CSS speed: 200 ÷ 180 = 1.11 m/s

Notice what the subtraction does with the start. The push-off and the faster opening lengths appear in both swims, so they largely cancel. That is why the test uses two trials instead of dividing the 400 time by four, which here gives 1:25: five seconds per 100 m faster than the pace the swimmer can actually sustain.
How to run the CSS test
The result is only as good as the two swims, so run the test the same way every time:
- Warm up properly, about 800 to 1,000 m including a few short efforts at race pace.
- Swim the 400 first, all out and evenly paced, from a push start rather than a dive.
- Recover for 5 to 10 minutes with easy swimming.
- Swim the 200, all out, also from a push.
- Record both times to the tenth, with the pool length, since a 25 m and a 50 m pool give different results.
Some coaches run the two trials on separate days to take fatigue out of the 200. Either works; doing it the same way each time matters more. The common error is going out too fast on the 400. A swimmer who fades over the last 100 m slows their 400, widens the gap to the 200, and gets a CSS that is slower than their real threshold.
Training paces from CSS
CSS is worth testing because one test sets the pace for most of the aerobic work in a week. The offsets below are a common starting point, in seconds per 100 m relative to CSS:
| Zone | Pace relative to CSS | For a 1:30 CSS | Example set |
|---|---|---|---|
| Easy and recovery | CSS + 15 s or slower | 1:45 or slower | Warm-up and swim-down |
| Aerobic endurance | CSS + 6 to 10 s | 1:36–1:40 | 3 × 800 with 30 s rest |
| Threshold | CSS ± 2 s | 1:28–1:32 | 10 × 100 on 1:45 |
| VO2 max | CSS − 3 to 6 s | 1:24–1:27 | 8 × 100 on 2:15 |

Sprint and race-pace work sits outside this table. It is set from the swimmer's event targets, not from CSS, because CSS says little about the anaerobic speed that decides a 50 or a 100.
The send-off for each set follows from the same numbers: the target swim time plus the rest the set needs. The 10 × 100 threshold set above is 1:30 swims with 15 seconds of rest, which is why it leaves on 1:45.
Retest every six to eight weeks
CSS moves as a swimmer trains, so paces set from an old test drift out of date. A swimmer whose CSS has improved from 1:36 to 1:29 is training below threshold if their threshold set still leaves on 1:50.
| Test | CSS pace | Threshold set: 10 × 100 on |
|---|---|---|
| Week 1 | 1:36 | 1:50 |
| Week 8 | 1:32 | 1:45 |
| Week 16 | 1:29 | 1:45 |
| Week 24 | 1:27 | 1:40 |

Schedule the tests in the season plan rather than in a coach's head, at the end of a recovery week instead of in the middle of a heavy block, where fatigue would hide the progress. The swim season planning template shows where they fit in the year. In a season plan in Swim Suite a test set is a session like any other, with its results kept next to the training around it, and each training group carries its own base send-offs, so the same set comes out on the right clock for every group. Swimmers see the session and the coach's targets in Swim Forge before they get in the water. Plans and the free trial are on the pricing page.
Limits of CSS
- It is an estimate. Two points on a line is a model, and in most swimmers CSS lands slightly faster than a lab-measured lactate threshold. Treat threshold sets at CSS as hard, not comfortable.
- It favours distance swimmers. A sprinter with a strong 200 and a fading 400 gets a slower CSS than their speed suggests. That is real information about their aerobic base, but not a reason to set their race pace from it.
- It is specific to stroke and pool. A freestyle CSS does not set backstroke paces, and a long course test does not set short course paces.
- It says how fast, not how. Two swimmers with the same CSS can get there with very different strokes. Stroke length and stroke rate show which half of the speed is changing.
- Young swimmers improve faster than the test interval. For age-group swimmers, retest every four to six weeks or the paces lag behind the swimmer.
How long can you swim at CSS pace?
A well-trained swimmer can usually hold CSS pace for around 30 minutes of continuous swimming, and longer as repeats with short rests, as in 10 × 100 with 15 seconds of rest.
Is CSS the same as threshold pace?
Close, but not identical. CSS is an estimate of threshold pace from two time trials, and it usually lands slightly faster than a lactate threshold measured with blood samples.
Can you use a 200 and a 50 instead?
You can, but the shorter the test distances, the more anaerobic speed leaks into the result and the faster the CSS reads. The 400 and 200 pair is the standard because both are long enough to be mainly aerobic.