Swim a hard 400, swim a hard 200, subtract the times, and divide by two. That number is your critical swim speed (CSS): a pace per 100 that sits right at the edge of what you can hold steadily. Swimmers have used it since the early 1990s, and it works like cycling’s FTP.
What Critical Swim Speed Measures
Your FTP (Functional Threshold Power) is the highest power you can hold on the bike for about an hour without blowing up. CSS is the swim cousin. Both come from the same idea, called critical power.
The idea is simple. Below a certain speed, you can hold the effort for a long time. Above it, you start burning a small, fixed reserve. When the reserve runs out, you stop.
Think of a car with a big gas tank and a tiny turbo reserve. Cruise below CSS and you sip from the main tank. Push above it and you drain the turbo. The turbo is small, and it doesn’t refill mid-race.
Wakayoshi’s team built the method in 1992. Twenty well-trained swimmers swam in a flume at speeds from 1.25 to 1.8 meters per second until exhaustion. The slope of the distance-versus-time line gave their critical speed, and it tracked their 1500 m freestyle speed. In short: the math that works for cyclists also works in the water.
A later version, published in 1993, used just two distances. It took the slope between a 200 m and a 400 m swim. That is the field test you’ll use.
CSS vs Lactate Threshold: Why It Runs Slightly High
Many articles say CSS is your lactate threshold. That’s too tidy. The 1993 study of 8 swimmers found CSS correlated closely with the speed at 4 mmol/L blood lactate (r = 0.914). Blood lactate held near 3.2 mmol/L at CSS. The authors suggested CSS might match the maximal lactate steady state (MLSS), the fastest pace where lactate stops piling up.
A 2005 study checked that claim more closely. It used 8 well-trained swimmers and compared CSS to maximal aerobic speed (MAS), the speed at which you hit your peak oxygen use. CSS came in at 92.7% of MAS. MLSS came in at 88.3%.
The gap is small. CSS and MLSS still correlated strongly (r = 0.87), with a bias of 0.07 m/s. Translation: CSS ranks swimmers well and sets zones well. It just isn’t a clinical threshold.
A pace that slightly overshoots the steady-state line is still a very useful anchor. Treat it that way.
How to Test Critical Swim Speed: The 400/200 Formula
Here’s the formula, using times in seconds:
CSS pace per 100 = (T400 - T200) / 2
Warm up well. Swim the 400 all-out but evenly. Rest fully, often 10 to 15 minutes. Then swim the 200 all-out.
| 400 m time | 200 m time | CSS per 100 |
|---|---|---|
| 5:20 | 2:35 | 1:22.5 |
| 6:00 | 3:00 | 1:30 |
| 7:20 | 3:30 | 1:55 |
Check the middle row. The 400 is 360 seconds and the 200 is 180. The difference is 180, and half of that is 90 seconds per 100. That’s 1:30.
If you only want one test, Simon Ward suggests a shortcut. Add about 4 to 5 seconds per 100 to your 400 m time trial pace to estimate CSS. It works for most age-groupers, but it may miss for elite swimmers.
Test Mistakes That Wreck the Number
Most bad CSS values come from a few errors.
- A 200 slower than the 400. The math breaks. The 200 must be faster.
- Going out too hard. A blown 400 makes your CSS pace look slower than it is.
- Switching pools. A 25 m pool has more turns than a 50 m pool. Turns help your average pace.
- Short rest. A tired 200 shrinks the gap between your two times, so CSS looks faster than it is. Then every zone is set too hard.
Keep the setup identical every time. Same pool, same warm-up, same rest. Otherwise you’re measuring the pool, not your fitness.
Setting Swim Zones From CSS
Here’s where the research gets thin. Only two offsets have a named source. Everything else you’ll see online, with neat percentages, is coaching convention.
| Effort | Pace per 100 | Source |
|---|---|---|
| Critical swim speed | 400 m time trial pace plus 4 to 5 seconds | Simon Ward |
| Endurance pace | 400 m time trial pace plus 8 to 10 seconds | Simon Ward |
Use those as anchors. Swim most of your volume near the endurance pace, with CSS sets as your main quality work. A set like 8 x 100 near CSS pace with short rest is a common coaching format. It’s a convention, not a proven prescription.
Want to see how zones work in the other two sports? Here’s how Zone 2 builds the aerobic base, and here’s what a good FTP looks like.
Pool CSS vs Open Water
A pool test in a swimsuit tells you your pool fitness. Race day adds a wetsuit, waves, and sighting. Each one changes the number.
Active drag fell 14% at 1.25 m/s in one study, and 12% at 1.50 m/s. Gay’s 2019 work found about 6% faster 400 m swims, mostly from a 4% longer stroke length. In short: the suit lets you glide farther per stroke.
Apply this to a 1:55 CSS. A gain of 3% to 7% puts wetsuit pace around 1:47 to 1:52 per 100. That’s a rough range, not a prediction. No study gives an exact open-water wetsuit percentage.
Open water also changes your stroke. A group of 14 elite triathletes swam 1500 m in the pool and in open water. Stroke length and stroke index were lower outside, and stroke rate was higher. Heart rate and lactate didn’t change. The fastest open-water swimmers were also the fastest in the pool. So pool CSS still ranks you well, but you need some open-water practice.
A Case Study: Dana’s Eight Weeks
Take a triathlete I’ll call Dana. She’s 41, training for a 70.3, and swims three times a week. Her first test gave a 7:20 400 and a 3:30 200. That’s a CSS of 1:55 per 100.
She spent eight weeks swimming steady sets near CSS and easy volume below it. At her retest, in the same 25 m pool, she swam a 7:00 400 and a 3:20 200. The math: (420 - 200) / 2 is 110 seconds, or 1:50 per 100. These numbers are illustrative, not from a study.
Five seconds per 100 sounds small. Over a 1.2-mile swim, which is about 1,900 m, it adds up to roughly 95 seconds. Pace gets faster in small steps.
The bigger win: Dana stopped guessing her pace at the start of every set.
Retest and Track It
Retest at the start of each training block, as the same test under the same conditions. Don’t test when you’re tired. If your CSS slips, check sleep and fatigue first. If it climbs, update your zones.
In AthleteOS, you can log a 200 and 400 test, or your recent swim data, and get swim zones alongside your bike and run zones. If you want a long-ride check for your base, see how aerobic decoupling shows whether your base is working or how to take your first FTP test. You can start a free trial at AthleteOS.
Test it. Track it.