User Rating 0.0
Total Usage 0 times
Presets
sec
sec
rnd
sec
sec
Total: 4:00
READY
00:20
Round 1 / 8
Overall: 0%
Space: Start/Pause · R: Reset · S: Skip · F: Fullscreen
Is this tool helpful?

Your feedback helps us improve.

About

Interval training demands precise phase transitions. A miscounted rest period or a late work-phase start compounds across rounds. Over a 20-round Tabata session, even 2s of drift per cycle produces 40s of cumulative error. That deviation corrupts the metabolic stress profile the protocol depends on. This timer uses browser-native performance.now() with delta-time correction to keep drift below 16ms per phase. Audio cues are synthesized in real time via the Web Audio API. No sound files to load or fail. The oscillator fires a 880Hz tone for work, 440Hz for rest, and a triple-beep sequence at workout completion. Screen Wake Lock prevents the display from sleeping mid-set.

The tool ships with standard presets: classic Tabata (20s work / 10s rest × 8), boxing rounds (180s / 60s × 12), and EMOM (60s / 0s × 10). Custom configurations accept warmup and cooldown phases. All settings persist across sessions. Limitation: browser tab throttling on mobile can delay setInterval callbacks when the screen is locked. The Wake Lock API mitigates this on supported browsers but is not universal.

interval timer HIIT timer tabata timer workout timer online timer exercise timer boxing timer circuit training timer

Formulas

Total workout duration is computed as:

Ttotal = Twarmup + n × (Twork + Trest) + Tcooldown

where Twarmup = warmup duration in seconds, n = number of rounds, Twork = work phase duration, Trest = rest phase duration, Tcooldown = cooldown duration.

Drift correction per tick uses delta-time:

elapsed = performance.now() tphaseStart

remaining = max(0, Tphase elapsed)

Circular progress uses SVG stroke offset:

offset = C × (1 elapsedTphase)

where C = 2πr is the circle circumference. Audio beep frequency: work phase = 880Hz (A5), rest phase = 440Hz (A4), completion = 1760Hz (A6) triple-pulse.

Reference Data

ProtocolWorkRestRoundsTotal TimeTarget Zone
Tabata Classic20s10s84min170% VO₂max
Boxing Standard180s60s1248min75 - 85% HRmax
HIIT Sprint30s30s1010min85 - 95% HRmax
EMOM60s0s1010minVaries
Pomodoro Work1500s300s4120minFocus / Recovery
Circuit Training45s15s1212min70 - 80% HRmax
Wim Hof Breathing90s15s35min 15sBreath hold / Recovery
Crossfit AMRAP600s120s336min80 - 90% HRmax
MMA Round300s60s530min80 - 90% HRmax
Yoga Flow40s5s1511min 15sFlexibility / Balance
Running Intervals120s60s824min80 - 90% HRmax
Stretching Routine30s5s2011min 40sLow intensity
Sprint 830s90s816min90 - 100% HRmax
Little Method60s75s1227min90 - 95% HRmax

Frequently Asked Questions

Mobile browsers aggressively throttle setInterval and requestAnimationFrame in background tabs, sometimes reducing tick rate to once per second or pausing entirely. This timer uses the Wake Lock API to prevent screen sleep and delta-time correction via performance.now() to recalculate the true elapsed time on each tick. If the tab was throttled, the next tick catches up instantly. Keep the tab in the foreground for best accuracy.
JavaScript timers have a minimum resolution of approximately 4ms due to browser event loop constraints. The delta-time approach means accumulated error stays below 16ms per phase transition regardless of round count. For a 20s Tabata interval, that is less than 0.08% error. Hardware stopwatches certified to NIST standards achieve ±0.01% but require manual operation, which introduces larger human reaction-time error (typically 150-300ms).
Professional boxing uses 3-minute rounds with 1-minute rest (12 rounds maximum). MMA uses 5-minute rounds with 1-minute rest (3 or 5 rounds). Select the Boxing or MMA preset, or configure custom values. Note: official competition timing requires sanctioned hardware. This tool is suitable for training but not competition judging.
Web Audio API output routes through the media audio channel, not the ringer channel. On iOS, if the silent switch is on, Web Audio is muted by default unless the user has interacted with the page first (which the Start button satisfies). On Android, media volume must be up. The timer also uses the Vibration API as a fallback haptic cue on supported devices.
The warmup phase is tracked as a distinct state with its own color coding (gold) and audio cue. It does not count toward round totals. Physiologically, warmup raises core temperature by approximately 1-2°C and increases synovial fluid viscosity in joints. Merging it into the first work interval misrepresents the data if you track workout volume (rounds × work time).
The timer requests a Wake Lock to prevent screen dimming. If Wake Lock is unavailable or denied, screen lock will throttle the timer. Upon unlocking, delta-time correction will snap the timer to the correct position. You may miss audio cues that were scheduled during the locked period. Keep the screen on during use for the best experience.