Swimming statistics (SWOLF, strokes/length, stroke distance)

It would be great to see (and track over time) some of the swim specific statistics for our workouts on intervals.icu.

SWOLF - Your SWOLF score is the sum of the time for one pool length (assuming a 25m pool) plus the number of strokes for that length. For example, 30 seconds plus 15 strokes equals a SWOLF score of 45.

Strokes per length

Stroke distance


I agree with this metric. I believe it is in garmin’s .fit file

1 Like

i.i should give some love to swim workouts for sure :slight_smile:

1 Like

Agree. +1


It is true, however, that swimmers who use monitoring systems like this one are not there. Swimmers are time dependent. Only Triathletes need something to monitor. So development is faster for cycling and running. It seems right, in time everything will come

So would it make sense to calculate the average SWOLF per length for an interval? How would this be tracked over time i.e. how could the SWOLF for the intervals be turned into a score for the whole activity? Also what happens if you sometimes swim in a 50m pool instead of 25m?

1 Like

I’m not sure how other devices/API work but the Garmin developer API provides all the data required. The ‘Decoding Pool Swim Activities files’ section near the bottom of this article ( Cookbook | FIT SDK | Garmin Developers) shows an example of parser code for the API which provides information on a per length basis.

The SWOLF for the whole activity is simply an average of the SWOLF for each length.

From a user perspective you set the pool length before a session and Garmin handles the rest. SWOLF scores between different length pools are not comparable, so when charting SWOLF over time you would want to be able to select pool length to chart and exclude different lengths.

For open water swimming Garmin will calculate SWOLF per 25m ( Viewing SWOLF Score and Graph for an Open Water Swim | Garmin Support)

For an individual activity Garmin graphs the SWOLF as it changes during each length of the activity.

Stroke count per length (and therefore distance per stroke) and stroke rate are also provided, and probably a more important metric than SWOLF.

Thanks for your attention to this!

1 Like

I do a bit of swimming, and found most platforms don’t seem to have much information on the swimming side. I do like distance per stroke, as it shows how efficient your are swimming. I think if Pool length is available in the fit file, and strokes for each lap, then the rest shouldn’t be too hard to work out. The best I have seen is swim.com. One of the annoying things about garmin is if the watch doesn’t detect a length correctly there is no way in Garmin that you can modify the interval length. If intervals.icu could sort this out, that would be very beneficial. There is some fit file tools online that can fix some issues.


On my Garmin fenix 5s you set the pool length manually in settings, I wasn’t aware that any Garmin’s had auto length detection.

No they don’t automatically recognise the pool length and you are correct you have to set it in the watch. Sorry maybe my wording was misleading. If it was regarding incorrect intervals, this is for example slowing down or speeding up mid way through a pool length and then Garmin thinking I did 100m instead of 50m for example.

because of the “not always perfect” lap detection (depending on your swimming style or lack thereof and how crowded your lane is - overtaking or slowing before turns almost always messes up the proper detection) I got the FORM Swim goggles (goggles with sensors and a head up display) which manage those situations way better (I had about two wrong counts over the last 50 swims - the garmin messes up every other workout)

FORM has an app and a way to connect to Training Peaks, which was great. I don’t know if they have an api - but if they do, getting that data as well would be great.

1 Like