ツール ガイド
productivity 無料 サインアップ不要

ラップタイム付きストップウォッチ

ラップトラッキング、ベスト/ワーストラップのハイライト、CSVエクスポート機能を備えた高精度ストップウォッチ。

ツールを読み込み中…

このツールについて

performance.now()を使用した高精度ストップウォッチで、個別のラップスプリットと累積経過時間を記録します。ラップテーブルでは最速ラップが緑、最遅ラップが赤でハイライト表示されるので、傾向を一目で確認できます。アニメーション付きキャンバス時計面で経過秒数が視覚的に追跡されます。すべてのラップタイムをCSVファイルとしてエクスポートしてさらに分析できます。

使い方

  1. 1 「開始」をクリックしてストップウォッチを起動してください — タイマーとキャンバス時計の針が即座に開始します。
  2. 2 任意の時点で「ラップ」をクリックしてスプリットを記録してください。テーブルがラップ番号、スプリット時間、累積経過時間で更新されます。
  3. 3 最速のラップ行が自動的に緑でハイライトされ、最遅の行が赤でハイライトされます。
  4. 4 「CSVをエクスポート」をクリックしてすべてのラップデータをダウンロードするか、「リセット」をクリックしてタイマーとラップテーブルをクリアしてください。

Why this stopwatch is accurate — performance.now() vs the wall clock

A naive stopwatch reads the system clock (Date.now()) to measure elapsed time, which is fragile: the system clock can jump if it syncs with a time server or the user changes it, and it's only reliable to the millisecond in theory. This tool instead uses performance.now(), a monotonic timer that only ever moves forward and is designed for measuring durations rather than telling the time of day. It counts elapsed milliseconds from a fixed origin with sub-millisecond resolution and never goes backward, which is exactly what you want when timing laps. The display updates via requestAnimationFrame, redrawing in sync with your screen so the digits and the clock hand stay smooth without wasting battery on updates you can't see.

Split versus total: the two numbers that matter

Every lap records two values, and confusing them is the most common mistake people make with lap timers. The total is the cumulative time since you pressed Start. The split is the time for that lap alone — the gap between this lap mark and the previous one. The tool computes them as total = elapsed since start and split = total − total at previous lap. Worked example: you press Lap at 1:30, again at 3:10, and again at 4:25. The totals are 1:30, 3:10, 4:25; the splits are 1:30, 1:40, and 1:15. Notice the splits always add back up to the final total — that's the consistency check. When you're comparing performance, the split is what tells you whether each lap got faster or slower; the total just tells you how long you've been going.

Reading the best/worst highlighting

Once you have more than one lap, the table highlights your fastest split in green and your slowest in red. This is computed on the split times, not the totals, so it genuinely flags your quickest and slowest individual laps. For an athlete running intervals, the green row is your peak and the red row is where you faded; for anyone pacing a repetitive task, the spread between green and red is a measure of how consistent you were. A tight spread means even pacing; a wide one means you started too hot or slowed badly at the end.

Common use cases

  • Interval and lap training — time each lap of a track or pool and compare splits to spot fade.
  • Cooking and process timing — mark stages of a multi-step task and see which step takes longest.
  • Productivity and study — time focus blocks, using laps to separate sessions.
  • Experiments and demos — anywhere you need repeatable, millisecond-resolution timing you can export.

Practical tips

  • Export the CSV for analysis. The Export button writes a CSV with lap number, split, and total for every lap, ready to drop into a spreadsheet to chart your pacing or average your splits.
  • Lap is only active while running. You can't record a lap when the stopwatch is stopped — the button disables itself — which prevents accidental zero-length splits.
  • Start doubles as Stop. The same button toggles: it accumulates elapsed time when you stop and resumes cleanly when you start again, so you can pause without losing your total.
  • Reset clears everything. Reset zeroes the time and empties the lap table — there's no undo, so export first if the laps matter.

Common mistakes and pitfalls

  • Comparing totals instead of splits. Totals always increase, so they can't tell you whether a lap was fast or slow. Look at the split column.
  • Forgetting laps don't persist. Unlike some tools here, the stopwatch keeps its data only in memory for the session — reloading the page or hitting Reset loses the laps. Export before you leave.
  • Background tab throttling. Because the visual update rides on the animation frame, switching to another tab can pause the on-screen ticking. The underlying time is measured from timestamps, so your final total stays correct, but the live display may lag until you return.
  • Over-trusting millisecond precision. The clock is precise, but human reaction time when pressing Lap adds tenths of a second. For close comparisons, the trend across many laps is more reliable than a single millisecond reading.

よくある質問

{# Alpine.js — self-hosted. (The previous jsdelivr CDN tag had a stale SRI integrity hash, so the browser refused to run it and window.Alpine was never defined — silently breaking every FAQ accordion and Alpine tool.) #}