All Tools

Custom Apnea Table Builder

Set every hold and every recovery interval yourself. Start from a CO2, O2, or equanimity preset, change whatever does not suit the session, then run it in the browser or share it as a link. Dry land only.

Start from

Presets are sized from this. Your max hold, or your baseline for equanimity.

RoundHoldBreathe (rest)Remove
1
2
3
4
5
6
7
Session length
5:02
Rounds
7
Longest hold
0:30

Run this table

Use the browser timer only while seated or lying down on dry land. Stop whenever you need to breathe. Never use it for breath holding in water.

Ready

Review every interval before starting

Save your tables in the BreathHold app

Build once, keep it in your library, run it with voice guidance and session history.

Download on the App StoreGet it on Google Play

Start from a preset, not from nothing

The three presets are the standard table shapes. A CO2 table fixes the hold and shrinks the rest. An O2 table fixes the rest and grows the hold. An equanimity table fixes both and repeats.

Load the one closest to what you want and adjust from there. Building from blank is available, but a table that mixes rising holds with falling rests is usually two sessions fighting each other rather than one good one.

Changes worth making

  • Cutting the last rounds. If a preset ends harder than you can finish calmly, delete rounds instead of shortening every hold.
  • Adding a warm-up round. A first round at half the hold with a long rest costs a minute and makes the rest of the table better.
  • Lengthening early rests. Recovery is the part people cut first and should cut last.
  • Repeating a round you want to own. Duplicating one interval three times is a legitimate session.

Sharing a table

The copy-link button encodes every round into the URL, so anyone who opens it sees exactly your table with no account and nothing stored on our side. It is the quickest way to hand a session to a training partner or a coach.

A link is not a recommendation. If someone sends you one, read every round before you run it — their maximum is not yours.