CSS (Critical Swim Speed) Test
Learn the CSS swim test protocol, avoid common pacing mistakes, and use threshold pace tables to set smarter swim training zones.
The CSS swim test gives you a single, honest pace number you can use to set training zones, write threshold sets, and measure progress without a lab, a coach, or a lucky guess. Two swims, some simple subtraction, and you have a number that actually means something in the water. If you want structured workouts once you have that pace, the interval training guide shows how to turn CSS into usable send-offs.
What CSS actually tells you about your swimming
Critical Swim Speed is the theoretical fastest pace you can hold without your aerobic engine falling behind. In practice, it sits roughly at your lactate threshold — the point where your body clears lactate about as fast as it produces it. Swim faster than CSS and you accumulate fatigue quickly. Swim at or just below CSS and you can keep going for a surprisingly long time, assuming your stroke holds together.
Coaches like CSS because it costs nothing, requires no lab gear, and delivers a number you can plug straight into training zones. You do not need a VO₂max test, a lactate analyser, or a sports-science degree. You need a pool, a watch, and the willingness to swim two hard efforts without sandbagging either of them.
CSS is not your race pace for a 50m sprint, and it is not your all-day cruising speed either. It is the pace that separates sustainable from unsustainable. That distinction matters because most swimmers spend too much training time in the grey zone between easy and hard — working hard enough to feel tired but not hard enough to force adaptation, and not easy enough to actually recover.
CSS draws a clear line through that grey zone and gives you a reference point for every set.
If you are still new to pacing terms, read how to read a swim workout first. It makes the send-offs, rest intervals, and pace targets in a CSS set much easier to follow once you step on deck.
If your CSS does not change after six weeks of consistent training, something in your programme needs attention — likely the intensity distribution, not the total volume. More laps at the same effort will not move the number.
The CSS test protocol: 400m, 200m, and some honest maths
The standard CSS test uses two maximal-effort swims with enough rest between them to clear the worst of the fatigue without letting you cool down completely. The 400m and 200m combination works well because the distance difference is large enough to produce a reliable slope without demanding an 800m effort that most swimmers cannot pace cleanly.
CSS Pace Reference Table
Find your approximate CSS range based on your 400m and 200m test times. Times shown as minutes:seconds.
These ranges are guidelines, not verdicts. A swimmer with excellent technique and poor fitness may test slower than their stroke suggests. A swimmer charging through inefficiently may test faster than their sustainable pace. Use the number to start the conversation with your training, not to end it.
Common CSS test mistakes that ruin the number
The formula is simple. The execution is where most swimmers drift off course. Cleaning up the test protocol matters because a bad CSS number poisons every threshold set you build afterward.
If you need a broader framework for where CSS fits in the week, the swimming training plan guide shows how to separate threshold days from aerobic and technique work.
How to use CSS pace for training zones
Once you have a CSS number, you can derive your training zones with simple adjustments. This turns a single test into a full set of pace targets that cover everything from recovery swimming to threshold work.
These adjustments anchor your training to a real physiological boundary instead of a subjective feeling. That matters most on days when the water feels heavy and every pace seems slow.
For a deeper explanation of GA1, GA2, threshold, and sprint labels, use the swim training zones guide . CSS gives you the anchor point; the zones article shows how to spread training stress across the rest of the week.
A CSS-based threshold workout you can swim today
This 2,900m session uses your CSS pace as the target for a threshold main set. The drill and recovery blocks let you work on technique without accumulating fatigue that robs the main set of quality.
If you do not yet know your CSS, swim the test first. A threshold set without a threshold pace is just another pile of 200s — you will produce sweat, but maybe not adaptation. For a deeper dive into how zones connect to your training week, see the swim training zones guide , which covers GA1 through sprint and how to schedule them across four weekly sessions.
How different swimmers can use CSS without overcomplicating it
CSS is not only for elite lane swimmers. The number becomes more useful when you apply it to the type of training you actually do instead of forcing every athlete into the same template.
If your main race is a triathlon, pair this with the triathlon swim training plan so your threshold work supports open-water pacing instead of living in isolation.
Article source
Written and maintained by AquaPlan Team, Swim Training & Product.
The AquaPlan team builds swim-training software for structured pool workouts, Garmin-compatible FIT export, printable workout PDFs, and progress tracking.
Focus areas: Structured swim workout design, Garmin-compatible FIT file export, Pool training plans and workout-library systems, Swim training tools for web, iOS, and Android.
Editorial standard: AquaPlan is built by lifelong swimmers — 20+ years in the water, competitive racing, and countless hours on deck. Our training guides come from that experience, not a content mill.