Free swim tool
Critical Swim Speed Calculator
Your 400m and 200m time-trial in. Threshold pace and training zones out.
Your training zones from a 400 + 200 time-trial. Easy is slower, VO2 is faster.
What is Critical Swim Speed (CSS)?
Critical Swim Speed is an estimate of your threshold pace, the fastest pace you can hold for a long, steady effort before fatigue forces you to slow down. You find it from two all-out time-trials: a 400 and a 200.
CSS /100 = (400 time − 200 time) ÷ 2The gap between the two efforts tells you how much you slow down over distance. Halve it and you have your estimated pace per 100 at threshold, the anchor for setting every other training zone.
How to do the test (step by step)
You only need a pool, a clock, and one focused session. Run it when you are fresh, not at the end of a hard week.
- Warm up properly, 800 to 1000 of easy swimming with a few short build efforts so you are loose but not tired.
- Swim a 400 all-out from a push, evenly paced. Record the time to the second.
- Recover fully, 5 to 10 minutes of easy swimming or rest until your breathing is back to normal.
- Swim a 200 all-out, again evenly paced, and record the time.
- Enter both times above. Keep the same pool and the same units for both swims so the estimate is clean.
Pace both efforts evenly. If you sprint the first 50 and fade, your CSS comes out faster than your real threshold and every zone built from it will be too hard.
Why CSS training works
CSS gives every swim a reference pace, so your sessions stop being guesswork. That matters because the most common way age-group triathletes plateau is training in a grey zone: a little too hard to be easy, a little too easy to drive real adaptation.
With a CSS number you get:
- Repeatable threshold work, the single biggest driver of a faster, more sustainable swim.
- Honest easy days, so easy actually stays easy and the hard days land.
- Progress you can see, retest every four to six weeks and watch the number drop.
- Pacing discipline, you learn to hold a pace instead of dying halfway down the pool.
How to use your zones
The four zones in the calculator are all anchored to your CSS pace per 100:
- Easy / Recovery (CSS + ~12s), warm-ups, cool-downs, and recovery between hard reps.
- Endurance (CSS + ~6s), longer aerobic sets that build your base.
- Threshold (CSS), the money zone, where CSS improves fastest.
- VO2 / Fast (CSS − ~4s), short, sharp reps above threshold for top-end speed.
Change your time-trial numbers above and every zone, plus the three sample sets, re-pace to you instantly.
CSS sample workouts
Three sessions built straight from your CSS. The calculator above fills in the exact target times for your number; here is what each one trains and why.
1. Threshold set, the core CSS session
8 × 100 at CSS pace, 15 seconds rest. The most important swim in the plan. Holding CSS for repeated 100s is exactly the stimulus that lowers your threshold over time. Build toward 10 to 12 × 100 as you adapt.
2. Endurance set, aerobic base
5 × 200 at CSS + 6s per 100, 20 seconds rest. Slightly easier than threshold, with longer reps. This is your bread-and-butter aerobic work, the volume that makes the threshold sessions stick.
3. Speed set, top-end
12 × 50 at CSS − 4s per 100, 20 seconds rest. Faster than threshold, short enough to hold clean form. Adds the top-end gear so race pace starts to feel comfortable.
Two or three of these a week, anchored by the threshold set, is a complete CSS-based swim block.
Critical Swim Speed FAQ
How do I calculate CSS?
Swim a 400 and a 200 time-trial, both all-out. Subtract the 200 time from the 400 time, then divide by two. The result is your estimated CSS pace per 100.
What is CSS used for?
CSS sets your training intensities. It estimates threshold pace, which you use as the reference point for easy, endurance, threshold and faster work.
Is CSS the same as race pace?
No. CSS estimates threshold pace, not a race prediction. Your race pace depends on distance, conditions and pacing strategy, and is usually different from CSS.
How often should I retest?
Every four to six weeks of consistent training is a sensible window. Retest under the same conditions so the comparison is fair.
What is a good CSS pace?
It depends on level. Many age-group triathletes sit around 1:40 to 2:00 per 100m; competitive pool swimmers go well under 1:20. The number that matters is your own, tracked over time, not someone else's.
Does CSS work for open water?
CSS is measured in the pool, but the threshold it estimates still guides your open-water effort. Expect open water to run a little slower thanks to sighting, chop, and no walls to push off.
Can beginners use CSS?
Yes, as long as you can swim a steady 400. If pacing a 400 is still hard, build that first, then test. The zones give beginners real structure instead of swimming every length at the same middling effort.
CSS organizes your training. It can't tell you why you're stuck.
CSS is a clean way to organize training intensity, but it's still an outcome. It can't tell you whether your catch holds pressure as you fatigue, and it can't tell you whether you actually got the sessions in.
ZWIM measures the thing underneath the number, propulsion, as Propulsive Watts. And Connected Swim Training is for the days you can't reach the pool, so the sessions a CSS test assumes you completed are the sessions you actually get to do.
Related swim tools
Know your threshold. Train the propulsion behind it.
ZWIM is Connected Swim Training for home: real Propulsive Watts and a real game, for the days you can't get to the pool.
CSS is an estimate of threshold pace for setting training zones, not a race promise. Results vary with conditions and pacing. ZWIM helps you train between pool days; it does not replace pool swimming.