AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I use an online chess clock for two players?

Open AnyTool Chess Timer, pick a time control like Blitz 5+3 or Rapid 10+5 (or set a custom time and increment), then press Start. Each player gets two big tap areas; tapping your own clock ends your turn and starts your opponent’s clock — just like a physical chess clock. The top clock can be flipped 180° so both players read it upright across a phone or tablet. When a clock reaches zero that player is flagged and loses on time. Pause, restart and a low-time warning are all built in, and everything runs in your browser.

  • Two large tap targets — tap your clock to pass the move and start the opponent’s
  • 11 presets: Bullet 1+0 / 2+1, Blitz 3+0 / 3+2 / 5+0 / 5+3, Rapid 10+0 / 10+5 / 15+10, Classical 30+0 / 30+20, plus custom
  • Fischer increment, Bronstein delay and simple (US) delay modes
  • Timestamp-based timing (banked ms + performance.now) — accurate, no per-tick drift
  • Per-side move counter, flag/timeout detection, red low-time warning + beep · 100% in your browser

What is

Chess Clock (chess timer)

A chess clock is a pair of linked timers, one per player, where only one side’s clock runs at a time. After moving, a player presses their button to stop their own clock and start the opponent’s, so each player’s clock counts only the time they spend thinking. Time controls add an increment or a delay: Fischer increment adds a fixed number of seconds after every move (and may accumulate), while simple and Bronstein delays return time spent up to a set limit so the main time never grows. If a player’s clock reaches zero they are “flagged” and normally lose on time.

Generators

Related terms

Time controlFischer incrementBronstein delaySimple (US) delayFlag / timeoutBlitz / Rapid

Frequently Asked Questions

Increment adds seconds to your clock after each move and can build up; a delay only gives back time you spent, up to a set amount, so your main time never increases.

Both add time per move but behave differently. With Fischer increment, a fixed number of seconds (say 3) is added to your clock after every move you complete, and any unused increment accumulates, so a 5+3 game can actually gain time if you move quickly. With a delay, the clock first waits out a delay period each move before your main time starts dropping (simple or US delay), or it gives back exactly the time you spent up to the delay after the move (Bronstein delay); either way your main time can never go up. AnyTool Chess Timer supports all three — Fischer, Bronstein and simple delay — so you can match FIDE-style increment or US Chess delay rules.

AnyTool is timestamp-based: it banks each side’s remaining milliseconds and reads performance.now() at the start of a turn, so it does not drift. Keep the tab active, since browsers throttle background tabs.

Accuracy depends entirely on how the clock is built. A naive timer that subtracts a fixed amount on every animation frame slowly drifts, because frames are not perfectly even and background tabs are throttled. AnyTool instead stores each player’s remaining time in milliseconds and records performance.now() the instant a turn begins, then displays banked minus elapsed every frame — so the only number that changes on a real event is the bank, and the clock cannot accumulate per-tick error. For best results keep the tab active and in the foreground and consider keeping the screen awake, because browsers pause or slow timers in background tabs. For casual and practice games this is precise to a fraction of a second; for rated or tournament play a dedicated physical chess clock is still the standard.

Bullet is under 3 minutes, blitz is 3 to 10 minutes, rapid is over 10 and under 60 minutes, and classical is 60 minutes or more per player, often with an increment like 5+3 or 10+5.

Time controls are written as base+increment in minutes and seconds per side. Bullet (under 3 minutes, e.g. 1+0 or 2+1) is the fastest; blitz (more than 3 up to 10 minutes, e.g. 3+2 or 5+3) is the most popular online; rapid (over 10 and under 60 minutes, e.g. 10+5 or 15+10) gives more thinking time; and classical (60 minutes or more, e.g. 30+0 or 30+20, and longer over the board) is used for serious tournaments. AnyTool ships presets for all four families plus a custom setup where you set the minutes, extra seconds and the increment or delay yourself.

No. The clock runs entirely in your browser with no account, no server and no tracking, and works offline once the page is cached.

AnyTool Chess Timer is 100% client-side. The clock, move counters and settings are computed locally and never sent anywhere, there is no sign-up or login, and no analytics or tracking is involved. Any low-time or flag beeps are synthesized live with the Web Audio API rather than downloaded, so there are no sound files and no CDN, and the tool keeps working offline after the page has been cached. It is ideal for over-the-board play on a shared phone or tablet between two people.

Detailed Explanation

Methodology

How the Chess Timer Keeps Accurate Time

AnyTool Chess Timer is timestamp-based rather than counter-based. Each side’s remaining time is banked in milliseconds, and when a side’s turn begins the clock records performance.now() as the turn-start timestamp. A requestAnimationFrame loop then displays the running side’s time as banked minus (now − turn start) on every frame, so the stored number only changes on a real event — a tap, a pause or a flag. This avoids the slow drift of a clock that subtracts a fixed amount on each animation frame, where uneven frame intervals and throttled background tabs accumulate error. Pausing banks the elapsed time exactly back into the store, and resuming records a fresh turn-start timestamp.

  • Remaining time banked in milliseconds; only mutated on real events
  • performance.now() captured at the start of each turn
  • Displayed time = banked − (now − turn start), recomputed every frame
  • No per-tick subtraction, so the clock cannot drift like a counter
  • Pause banks elapsed time precisely; resume sets a new turn-start
How It Works

Time Controls, Increment and Delay Modes

The tool ships eleven presets across the four standard families — Bullet (1+0, 2+1), Blitz (3+0, 3+2, 5+0, 5+3), Rapid (10+0, 10+5, 15+10) and Classical (30+0, 30+20) — plus a custom setup for arbitrary minutes, extra seconds and increment/delay. Three timing methods are supported. Fischer increment adds a fixed number of seconds to a player after each completed move and lets unused time accumulate. Bronstein delay gives back exactly the time spent on the move, capped at the delay, so the main time can never increase. Simple (US) delay does not count down for the first N seconds of each turn and only deducts time spent beyond the delay. A per-side move counter increments on every press, and when a clock reaches zero that side is flagged and the opponent is declared the winner on time.

  • Bullet, Blitz, Rapid and Classical presets plus full custom setup
  • Fischer increment: fixed seconds added per move, can accumulate
  • Bronstein delay: time spent given back, capped at the delay (main time never grows)
  • Simple/US delay: first N seconds of each turn do not count down
  • Per-side move counters, flag/timeout detection and win-on-time result
Privacy & Security

Face-to-Face UX, Privacy and Honest Limits

The interface is two large tap targets, one per player, with the top clock optionally rotated 180° so both players read their time upright across a shared phone or tablet — tapping your own clock ends your turn and starts your opponent’s, exactly like a physical chess clock. The active side is highlighted, a low-time state under ten seconds turns the panel red and plays an optional synthesized beep, and pause, resume and restart are one tap away with keyboard shortcuts (Space to switch, P to pause, R to restart). Everything runs locally with no account, server or tracking, beeps are synthesized with the Web Audio API rather than downloaded, and the tool works offline once cached. Honestly, browsers throttle or pause timers in background tabs, so the tab should stay active and foregrounded during a game and the screen kept awake; this is an excellent practice and casual clock, but serious rated or tournament play still calls for a dedicated physical chess clock.

Chess Timer: in-browser (AnyTool) vs typical online chess clocks
CapabilityAnyToolTypical online chess clocks
TimingTimestamp-based (banked ms + performance.now)Often per-tick countdown (can drift)
Increment/delayFischer, Bronstein & simple (US) delayOften Fischer increment only
Presets11 (Bullet → Classical) + customUsually a few common ones
Face-to-faceTop clock flips 180°, large tap targetsOften single-orientation
Flag & low-timeWin-on-time + red warning + optional beepSometimes no warning
PrivacyNo account, no server, offline-capableMay require sign-in or load ads/trackers
Cost / signupFree, no signupOften app install or gated

AnyTool runs the entire clock locally with timestamp-accurate timing and uploads nothing.