Learn swim training zones with pace cues, CSS math, and a 2,400m example set. Build it fast, then export a Garmin FIT file for the pool today.
Swim training zones turn random laps into repeatable progress. If you know what GA1, GA2, threshold, and sprint should feel like, you stop guessing, start pacing properly, and waste fewer Tuesdays pretending every 100 is race pace. What swim training zones actually measure Zones are not magic labels. They are effort bands tied to pace, breathing, stroke quality, and repeatability.
If you swim 10x100m and every repeat feels the same level of strain, you are probably parking in the mushy middle, which is comfortable enough to survive and hard enough to recover poorly. Good training splits that middle into jobs: GA1 builds aerobic volume, GA2 raises sustainable speed, WA improves lactate tolerance around race effort, and SA develops top-end speed that you cannot fake with tired arms.
The practical test is simple: ask what the repeat should accomplish before you push off. A 300m GA1 repeat should let you keep long strokes, steady exhalation, and a heart rate that settles quickly during 15 to 20 seconds rest. A threshold 200m should feel controlled for the first half, uncomfortable by 150m, and still technically clean on the last wall.
A 25m sprint should look violent but organized, with fast turnover, a clean line, and enough recovery that the next rep can be nearly as quick. Most swimmers need fewer heroic sessions and more precision. If your aerobic day drifts into threshold, your threshold day turns into survival, and your sprint day becomes tired flailing, your week is poorly sorted no matter how committed you look in mirrored goggles.
AquaPlan reflects this neatly with 9 color-coded zones, including GA1, GA2, TU, WA, SA, ReKom, Drill, Kick, and IM, so the session on screen matches the job in the water instead of becoming a pile of unlabeled 100s. If your watch says the pace was right but your stroke count jumped by 4 to 6 strokes per 25m, the zone was wrong for that day. Pace without form is just a slower route to fatigue.
How to set swim training zones from CSS and effort The cleanest starting point for most pool swimmers is CSS swimming, because it gives you a usable threshold estimate without lab gear or a coach yelling split times from a deck chair. Swim a hard 400m, recover 5 to 8 minutes, then swim a hard 200m. Convert both to pace per 100m and use the formula in the card below.
If your result is 1:45 per 100m, that pace becomes your rough threshold anchor, not a sacred number carved into tile. From there, build ranges. GA1 usually sits around 12 to 20 seconds slower per 100m than CSS for trained masters swimmers, while GA2 often sits around 5 to 10 seconds slower. Those are working estimates, not commandments. If your CSS says 1:45, a sensible GA1 range may be 1:57 to 2:05 per 100m, and GA2 may be 1:50 to 1:55.
Threshold repeats should cluster near 1:45, and sprint 25s or 50s should be much faster with full recovery and zero interest in small talk. Numbers alone can still lie. Pool traffic, poor sleep, heavy gym work, or water that feels like soup will change what you can hold. Add a heart-rate and RPE check to keep your pacing honest. If your supposed GA2 set drives your breathing out of control and your pulse stays high after 20 seconds rest, you slid into threshold.
If your threshold set feels like a mild inconvenience, either your CSS is stale or you gave the time trial a generous interpretation of hard. If you want to build these pace targets into a real session, use the swim workout generator and assign each block its zone before you touch the first send-off. That matters because the rest interval changes with the zone.
A GA1 200m may need only 15 seconds rest, while sprint 25s often need 30 to 60 seconds to stay fast. Different jobs, different rest, fewer fake quality sets. Re-test every month or so if you are training consistently. A swimmer who drops CSS from 1:50 to 1:44 but still does GA2 work at old paces is underloading by 6 seconds per 100m, which over 2,000m is 2 full minutes of missed stimulus.
Your fitness does not care that the spreadsheet looked tidy. Using GA1 and GA2 without turning every set into a slog