# Pool Swimming

Canonical HTML: https://effortsignal.com/features/pool-swimming/

Last content update: 2026-09-14

See a pool session at three scales: the whole workout, its recorded laps, and each length inside a lap. Compare pace and strokes, highlight a length on the charts, or save it as an interval for a closer look.

<!-- Keep imported laps, recorded lengths and user-created intervals distinct so the page matches the existing Breakdown controls. -->
<p class="marketing-demo-note">Screenshots show the real web app with a demo session from 23 August: 2,500 m in a 25 m pool, with four recorded laps and 100 lengths. Activity analysis is included in Free and Pro.</p>

<h2 id="laps">Review the structure of your pool session</h2>

Open the activity, then choose **Laps** beside **Breakdown**. Each lap keeps its own row, with distance, timing and available metrics. In this example the laps cover **500 m, 800 m, 800 m and 400 m**. The **Lengths** button reveals the pool lengths belonging to that lap.

<figure>

[![The Laps list shows four pool laps with 20, 32, 32 and 16 recorded lengths](/marketing/product/catalog-swim-laps-desktop.webp)](/marketing/product/catalog-swim-laps-desktop.png)

<figcaption>The lap structure comes from the imported recording. A length is one pool crossing; a lap can group many lengths. The phone excerpt shows the first two laps.</figcaption>
<a class="marketing-image-enlarge" href="/marketing/product/catalog-swim-laps-desktop.png">Enlarge the pool laps</a>
</figure>

Recorded laps and saved intervals are separate. This session has four laps; saved intervals are the ranges you choose to keep for closer analysis.

<h2 id="lengths">Inspect pace and strokes for each length</h2>

Expand **Lengths (20)** in the first lap. The inset table shows each length's distance, swim time, pace per 100 m, stroke style, stroke count and stroke rate when those fields are available. The example begins with **25 m in 27 seconds**, **15 strokes** and **33 spm**, recorded as freestyle.

<figure>

[![The first lap is expanded to show individual 25 m lengths with time, pace, freestyle stroke counts and stroke rate](/marketing/product/catalog-swim-lengths-desktop.webp)](/marketing/product/catalog-swim-lengths-desktop.png)

<figcaption>An excerpt from the first lap: five lengths on desktop and three on a phone. In the app, scroll the table horizontally to reach additional columns and actions.</figcaption>
<a class="marketing-image-enlarge" href="/marketing/product/catalog-swim-lengths-desktop.png">Enlarge the length detail</a>
</figure>

**Show on charts** highlights that length on the charts without changing your zoom. **Add as interval** saves its exact bounds using a name such as **Lap 1 - Length 1**. When the activity contains only one lap, the name is simply **Length 1**. Open the saved interval to inspect its metrics.

<h2 id="interval-metrics">Compare your swim intervals</h2>

For a range containing complete recorded pool lengths, the interval metrics can include **distance**, **swim time**, **pace**, **length count**, **stroke count**, **stroke rate**, **strokes per length**, **SWOLF** and **stroke style**, alongside available heart-rate metrics. SWOLF combines swim time in seconds and strokes per length; compare it in the context of the same pool length and stroke style.

These calculations use complete lengths inside the selected bounds. A range cutting through a length cannot supply an exact whole-length result. Missing recorded fields stay unavailable. [Interval Analysis](/features/interval-analysis/) explains saved intervals and the shared charts.

<h2 id="best-efforts">Find your fastest sustained pool efforts</h2>

In **Swimming**, the pace curve and table show the fastest available **50, 100, 200, 400, 800 and 1500 m** efforts within this activity. Pool results use consecutive whole recorded lengths and include any rest inside the effort.

<figure>

[![The pool swim pace curve and best-effort table show distances from 50 to 1500 m and the source length ranges](/marketing/product/catalog-swim-pool-best-desktop.webp)](/marketing/product/catalog-swim-pool-best-desktop.png)

<figcaption>The 100 m effort takes about 1:36 across lengths 37–40; the 400 m effort takes about 7:10 across lengths 53–68. Phones show the pace curve; the full-size image includes the complete table.</figcaption>
<a class="marketing-image-enlarge" href="/marketing/product/catalog-swim-pool-best-desktop.png">Enlarge pool best efforts</a>
</figure>

The table identifies the source lengths. Choose **Show on charts** to locate an effort in the session. A dash means there is no exact recorded effort for that distance; the app does not invent extra lengths or extrapolate a longer swim.

<h2 id="load-and-volume">Pool time counts in your training week</h2>

Pool swims contribute to recorded training volume. With **at least 90% HR coverage** and applicable HR settings, they also contribute **TRIMP** to **Fitness, Fatigue and Form**, alongside cycling, running and open-water swimming. This example's pool HR stream is too sparse for TRIMP, so its duration is counted while its load is marked incomplete.

Read [Swimming Analytics](/features/swimming-analytics/#training-load) for the combined training picture, or [Open Water Swimming](/features/open-water-swimming/) for distance and GPS analysis away from the pool.

All Pro features are free through January 31, 2027. No credit card or automatic charges. After Early Access, keep using Free or choose Pro. [See Free and Pro plans](/pricing/).
