{"id":67283,"date":"2026-10-21T09:39:30","date_gmt":"2026-10-21T06:39:30","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=67283"},"modified":"2026-10-21T09:39:30","modified_gmt":"2026-10-21T06:39:30","slug":"online-stopwatch-with-laps","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/life\/online-stopwatch-with-laps\/","title":{"rendered":"Online Stopwatch with Laps"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Run the Stopwatch and Record Lap Times<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"67283\" data-favorite-title=\"Stopwatch\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/life\/online-stopwatch-with-laps\/\" data-favorite-excerpt=\"A free online stopwatch with lap times. Start, pause, and reset with one click or the keyboard, record unlimited laps, and export the results as text or CSV \u2014 timing survives page reloads.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-life\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/life\/online-stopwatch-with-laps\/\" method=\"POST\" class=\"calculator\" id=\"calculator-67283\" data-post=\"67283\"><fieldset class=\"fieldset-input is-1\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field is-checkbox is-single\" id=\"input-1\"><input type=\"checkbox\" id=\"field-1\" value=\"1\" checked=\"checked\"\/><label for=\"field-1\">Keep counting across page reloads<\/label><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"67283\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Stopwatch<\/h3><div class=\"result-box\"><div class=\"field-result is-column\" id=\"output-1\"><span class=\"field-title\"><span>Stopwatch Display<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-2\"><span class=\"field-title\"><span>Lap Times<\/span><\/span><span class=\"field-value\" id=\"result-2\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"67283\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Stopwatch Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ t_{\\text{elapsed}} = t_{\\text{end}} - t_{\\text{start}} \\]\n\\[ t_{\\text{lap},i} = T_i - T_{i-1}, \\quad T_0 = 0 \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(t_{\\text{elapsed}}\\) \u2014 total time shown on the stopwatch since the last reset<\/li>\n<li>\\(t_{\\text{start}}\\) \u2014 timestamp of the moment Start (or Resume) was pressed<\/li>\n<li>\\(t_{\\text{end}}\\) \u2014 timestamp of the moment the measurement is read or paused<\/li>\n<li>\\(T_i\\) \u2014 total elapsed time at which lap number \\(i\\) was recorded<\/li>\n<li>\\(t_{\\text{lap},i}\\) \u2014 duration of lap \\(i\\) alone, i.e. the time between two consecutive lap presses<\/li>\n<\/ul>\n<p>The stopwatch stores timestamps instead of counting ticks, so the elapsed time stays accurate even if you switch tabs, minimize the window, or reload the page. Each lap time is simply the difference between the current total and the total at the previous lap.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Stopwatch \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> you start the stopwatch, press Lap after swimming the first pool length, and press Lap again after the second length. The watch shows a total of <code>00:01:02.45<\/code> (62.45 s) at the first press and <code>00:02:07.65<\/code> (127.65 s) at the second.<\/p>\n<p>\\[ t_{\\text{lap},1} = 62.45 - 0 = 62.45\\ \\text{s} \\]<br \/>\n\\[ t_{\\text{lap},2} = 127.65 - 62.45 = 65.20\\ \\text{s} \\]<\/p>\n<p><strong>Result:<\/strong> the lap table lists lap 1 as <code>00:01:02.45<\/code> and lap 2 as <code>01:05.20<\/code>... lap time <code>00:01:05.20<\/code>, both with their totals <code>00:01:02.45<\/code> and <code>00:02:07.65<\/code> (127.65 s). Lap 1 is marked <em>fastest<\/em>, lap 2 <em>slowest<\/em>, and the average lap is about 63.8 s.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to use the calculator<\/h2>\n<ol>\n<li>Press <strong>Start<\/strong> (or the <strong>Space<\/strong> key) to begin timing; the display shows the elapsed time in <code>hh:mm:ss.cc<\/code> format \u2014 hours, minutes, seconds and hundredths.<\/li>\n<li>Press <strong>Lap<\/strong> (or the <strong>L<\/strong> key) whenever you complete a segment \u2014 a lap, a lap, a round, a repetition. Each press adds a row to the <em>Lap Times<\/em> table with the lap time and the cumulative total.<\/li>\n<li>Press <strong>Pause<\/strong> to freeze the clock (the button then becomes <strong>Resume<\/strong>), or <strong>Reset<\/strong> (the <strong>R<\/strong> key) to zero everything and clear all laps.<\/li>\n<li>Switch on <strong>Keep counting across page reloads<\/strong> to store the stopwatch state in your browser. If the clock is running when you leave or reload the page, it resumes exactly where it should \u2014 a running clock keeps counting while you are away. Uncheck the box to erase the saved state.<\/li>\n<li>Use <strong>Copy laps as text<\/strong> or <strong>Download CSV<\/strong> to export the lap list for a spreadsheet or notes. <strong>Full screen<\/strong> enlarges the display, handy for projecting the clock during a workout or event.<\/li>\n<\/ol>\n<h2>What a stopwatch with laps does<\/h2>\n<p>A stopwatch measures elapsed time from a single starting point. What turns it into a training and analysis tool is the lap function: instead of one total at the end, you get a split of every segment along the way. Runners use laps for interval repeats, swimmers for pool lengths, and coaches for recording each athlete in rotation, all while the clock keeps running without interruption.<\/p>\n<p>Each lap entry shows two numbers. The <strong>lap time<\/strong> is the duration of that segment alone \u2014 how long it took from the previous lap press to this one. The <strong>total time<\/strong> is where the cumulative clock stood when the lap was taken. Both matter: totals track overall progress, while lap times reveal consistency, fatigue, or pacing changes from one segment to the next.<\/p>\n<p>The table automatically highlights the <em>fastest<\/em> and <em>slowest<\/em> lap (once there are at least two laps with different times) and shows a summary line with the count, fastest, slowest and average lap. A steady spread means even pacing; a lap time drifting upward lap after lap is a classic sign of fatigue. If you need to combine the results with other times, the <a href=\"https:\/\/wpcalc.com\/en\/life\/time-duration-calculator\/\">Time Duration Calculator<\/a> can subtract splits from one another, and the <a href=\"https:\/\/wpcalc.com\/en\/life\/time-calculator-add-and-subtract-time\/\">Time Calculator<\/a> can add up a session of several runs.<\/p>\n<h2>Limits and practical tips<\/h2>\n<ul>\n<li><strong>Accuracy:<\/strong> the display shows hundredths of a second, and times are derived from high-resolution timestamps. Still, this is a browser stopwatch \u2014 use a certified timing device for official competitions or record attempts.<\/li>\n<li><strong>Background tabs:<\/strong> browsers pause visual updates in hidden tabs, but because elapsed time is computed from timestamps, the total (and any lap you press) remains correct when you come back.<\/li>\n<li><strong>Saved state:<\/strong> with the <em>Keep counting across page reloads<\/em> box checked, the state is stored in your browser's local storage. In private or incognito mode storage may be blocked \u2014 the stopwatch still works, it just resets on reload. Unchecking the box immediately erases the stored data.<\/li>\n<li><strong>Keyboard shortcuts:<\/strong> <strong>Space<\/strong> starts\/pauses, <strong>L<\/strong> records a lap, <strong>R<\/strong> resets. They are ignored while you are typing in a form field, so they will not interfere with other tools on the page.<\/li>\n<li><strong>Export:<\/strong> the CSV file opens in Excel, Google Sheets and similar tools; the copied text is tab-separated and pastes directly into spreadsheet columns. If your browser blocks clipboard access, use the CSV download instead.<\/li>\n<\/ul>\n<p>If you end up with lap totals you want to convert to decimal hours for billing or logging, the <a href=\"https:\/\/wpcalc.com\/en\/life\/hours-to-decimal-converter\/\">Hours to Decimal converter<\/a> turns <code>hh:mm:ss<\/code> values into decimal format in one step.<\/p>\n<h2>Keyboard shortcuts and buttons<\/h2>\n<table>\n<thead>\n<tr>\n<th>Action<\/th>\n<th>Button<\/th>\n<th>Shortcut<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Start \/ pause \/ resume<\/td>\n<td>Start, Pause, Resume<\/td>\n<td>Space<\/td>\n<\/tr>\n<tr>\n<td>Record a lap<\/td>\n<td>Lap<\/td>\n<td>L<\/td>\n<\/tr>\n<tr>\n<td>Reset clock and laps<\/td>\n<td>Reset<\/td>\n<td>R<\/td>\n<\/tr>\n<tr>\n<td>Expand the display<\/td>\n<td>Full screen<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td>Export lap list<\/td>\n<td>Copy laps as text \/ Download CSV<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>A free online stopwatch with lap times. Start, pause, and reset with one click or the keyboard, record unlimited laps, and export the results as text or CSV \u2014 timing survives page reloads.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[103],"class_list":["post-67283","post","type-post","status-publish","format-standard","hentry","category-life","tag-timers"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/67283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/3168"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=67283"}],"version-history":[{"count":1,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/67283\/revisions"}],"predecessor-version":[{"id":67284,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/67283\/revisions\/67284"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=67283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=67283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=67283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}