SWOLF efficiency
{{ averageSwolfDisplay }}
{{ totalDistanceDisplay }} • Pace {{ pacePer100Display }} • Best lap {{ bestLapDisplay }} / Worst {{ worstLapDisplay }}
{{ poolDisplay }} {{ lapCountDisplay }} {{ strokesDisplay }} {{ timeDisplay }}
{{ summaryNote }}
s:
Lap Time Strokes SWOLF Pace /100 Distance Copy
{{ row.index }} {{ row.timeDisplay }} {{ row.strokesDisplay }} {{ row.swolfDisplay }} {{ row.paceDisplay }} {{ row.distanceDisplay }}
Add laps to see results.
:

SWOLF combines the time for one pool length with the number of strokes used to swim that length. Because lower scores usually mean the same distance was covered faster, with fewer strokes, the metric is useful for spotting efficiency changes inside a consistent set rather than for declaring one swimmer universally better than another. This analyzer turns raw lap notes into a session view you can actually compare.

That matters when a set looks steady in a notebook but not in the water. Four 25 m laps in the mid-20-second range may seem similar at first glance, yet the added stroke counts can show whether the swimmer held shape or slowly started taking extra strokes to keep pace. The page turns those pasted lap lines into per-lap SWOLF, pace per 100, session totals, best and worst laps, and a trend chart.

The workflow is intentionally simple. Each line pairs a time with a stroke count, pool length can be meters or yards, and an optional rest deduction lets you remove a fixed pause per lap when the recorded split includes wall time rather than pure moving time. That makes the tool useful for hand-kept logs as well as copied split data.

The caution is comparability. SWOLF depends on pool length, stroke style, effort, pacing strategy, turns, and how the split was captured. A lower score across different pool sizes or different kinds of sets does not automatically mean cleaner technique, and this page does not normalize for stroke type, drag, or workout intent.

Used well, it is a session review aid. Used carelessly, it can turn mixed workout data into a misleading single number. The most trustworthy comparisons come from similar lengths, similar effort, and clean per-lap entries.

Everyday Use & Decision Guide:

Start with the real pool length and paste one length per line in time,strokes form. If your notes or watch export already use one split per length, this analyzer can be filled in faster than a spreadsheet and gives a clearer first read than scanning raw times alone.

  • Keep the set consistent. Mixing drill lengths, kick lengths, or very different stroke styles into one pasted block makes the average SWOLF far less useful.
  • Leave Rest deduction (s) at 0 unless you know the recorded split includes predictable wall time. A guessed deduction can make the lap numbers look cleaner than the swim actually was.
  • Use Lap table when you need exact values and SWOLF chart when you want to spot drift across the set.
  • If the page shows Check your inputs, fix the first bad line before you judge the session. One malformed row clears the result set rather than partially guessing.

The most common overread is to compare one swimmer's number to another swimmer's number without matching pool length and workout context. A 25 yd set and a 50 m set do not produce directly comparable SWOLF scores, even when both look strong.

Before trusting the average, compare Best lap, Worst, and Pace together. A low average with a wide spread can describe an inconsistent set rather than a technically efficient one.

Technical Details:

The computation per lap is intentionally simple: time plus strokes. The page parses each line into a lap time and stroke count, optionally subtracts a fixed rest amount, and then adds the adjusted time to the stroke count to get SWOLF. That makes the score responsive to both speed and economy without needing a separate stroke-rate model.

Pace is derived separately so the session can be read from more than one angle. The tool converts pool length to meters when necessary, calculates pace per 100 from the adjusted moving time, and then accumulates total distance, total time, total strokes, and total SWOLF across the set. The JSON payload keeps distance in meters even when the visible session was entered as yards.

The chart is a trend view rather than a normalized biomechanics model. It plots SWOLF, strokes, and time by lap on the same canvas so you can see whether the three lines rise together or diverge. Because those series do not share the same unit, the table remains the authoritative surface for exact numeric reading.

Formula Core:

tadj = max(0,tr) S = tadj+n P100 = tadjLm/100 S¯ = SN
SWOLF equation symbols
Symbol Meaning Package field or result
t Entered lap time Lap entries
r Rest deduction per lap Rest deduction (s)
n Stroke count for the lap Strokes
Lm Pool length in meters Pool length, with yards converted using 0.9144
S SWOLF score for one lap SWOLF
P100 Pace per 100 units of pool distance Pace /100
N Number of valid laps lap_count in the JSON payload
Lap entry formats accepted by the analyzer
Entry form Accepted example How the package reads it
Seconds only 25,21 25 seconds and 21 strokes
Seconds with decimal 25.8,21 25.8 seconds and 21 strokes
Minutes and seconds 1:05.4,48 65.4 seconds and 48 strokes

Validation is strict. If any lap fails to parse, or if the pool length is invalid, the page clears the computed set instead of guessing at a partial result. For fair comparison across sessions, keep pool length, stroke type, pacing intent, and rest-deduction rules consistent.

Step-by-Step Guide:

Use the tool in a clean review order so the average and the chart both describe the same session.

  1. Set Pool length and the correct unit first. A wrong pool size changes both total distance and the derived Pace /100.
  2. Paste Lap entries one per line in time,strokes form. Valid times include SS, SS.s, and MM:SS.s.
  3. Open Advanced only if the stored splits include a repeatable pause per lap. Otherwise leave Rest deduction (s) at 0.
  4. Read the summary box next. Confirm the headline avg SWOLF, total distance, Pace, and the Best lap and Worst values all look plausible together.
  5. Use Lap table for exact per-length review. If the page shows Check your inputs, fix the malformed line or invalid pool length before using any numbers from the set.
  6. Open SWOLF chart to inspect trends. If SWOLF, strokes, and time all drift upward together, the session is probably losing efficiency as it progresses.

The most useful follow-up is a like-for-like comparison against another set with the same pool length and similar intent, because that is where SWOLF becomes a review tool instead of a novelty number.

Interpreting Results:

avg SWOLF is the headline, but it should be read beside Pace, Best lap, and Worst. A lower SWOLF usually reflects better efficiency only when pool length, stroke, and workout intent stay comparable.

  • If Best lap and Worst are close, the set was steady.
  • If SWOLF climbs while strokes stay similar, time loss is doing most of the damage.
  • If SWOLF climbs because stroke count also rises, the set may be losing length efficiency as well as speed.

Do not compare the chart lines point for point across units. Time, Strokes, and SWOLF are plotted together for pattern reading, not because a one-unit change means the same thing in each series. When exact judgment matters, return to the table and the JSON values.

Worked Examples:

Steady short-course meter set

In a 25 m pool, four lap entries of 25.8,21, 26.2,22, 26.5,22, and 27.0,23 produce lap SWOLF values of 46.8, 48.2, 48.5, and 50.0. The page reports an average SWOLF of 48.4 and a pace of 1:45.5 per 100 m. That is a useful example of a set that drifts upward gradually rather than collapsing all at once.

Using a fixed rest deduction

In the same 25 m pool, lap entries of 30.0,22, 31.0,23, and 32.0,24 with a 1.5 second rest deduction produce an average SWOLF of 52.5 and a pace of 1:58 per 100 m. The package subtracts the same amount from every lap before computing pace and SWOLF, which is why that setting should be reserved for logs that really include a repeatable wall pause.

Short-course yard comparison

In a 25 yd pool, 22.8,18, 23.4,19, 24.0,19, and 24.8,20 produce an average SWOLF of 42.8 and a pace of about 1:43.9 per 100 yd. The score is lower than the meter example above, but that does not prove the swimmer was more efficient in an absolute sense because pool size and pace unit changed.

FAQ:

Why did the page reject my paste even though most lines look fine?

Because validation is all-or-nothing for the current set. Each non-blank line must parse as time,strokes, and the pool length must also be valid. Fix the first malformed row, then let the page recompute the whole session.

Does lower SWOLF always mean better swimming?

No. Lower usually means less time plus fewer strokes for the same length, but it does not account for stroke type, workout purpose, pool size, or pacing strategy. It is best used for like-for-like comparisons.

Can I compare 25 yd and 25 m sessions directly?

Not safely. The pool length changes both the split context and the pace normalization. The tool converts yards to meters internally for distance totals, but the visible session still belongs to a different pool environment.

What does Rest deduction (s) actually change?

It subtracts the same fixed amount from each lap time before SWOLF and pace are calculated, and it never lets adjusted time go below zero. Use it only when your recorded splits include a predictable pause that you want to remove.

Is any swim data uploaded?

No server-side processing is present for this analyzer. The summary, lap table, chart, and JSON payload are generated in the browser from the text you paste into the page.

Glossary:

SWOLF
A pool-swim score formed by adding the time for one length to the stroke count for that same length.
Split
The recorded time for a single lap or pool length.
Pace per 100
The lap time scaled to a 100-meter or 100-yard pace for comparison.
Pool length
The distance of one lap entered in meters or yards, which drives distance and pace calculations.
Rest deduction
A fixed number of seconds subtracted from every lap before pace and SWOLF are computed.

References: