Precise millisecond stopwatch with lap tracking and split times
Accurate millisecond stopwatch for sports, study sessions, workouts, and cooking with lap recording, split times, and keyboard controls (Spacebar start/stop).
Measuring elapsed time accurately is essential for interval workouts, track-and-field practice, speedcubing, speech rehearsals, laboratory classroom exercises, and focused study blocks. Our Online Stopwatch runs 100% locally in your browser and formats elapsed duration in `MM:SS.hh` (minutes, seconds, and hundredths of a second / centiseconds, calculated via `Math.floor(ms / 60000)`, `Math.floor((ms % 60000) / 1000)`, and `Math.floor((ms % 1000) / 10)`). The interface provides three clean action controls: a `Start` / `Pause` toggle button that lets you pause and resume timing from the exact millisecond where you left off, a `Lap` button (enabled while the stopwatch is actively running) that captures cumulative elapsed timestamps (`Lap 1`, `Lap 2`, etc.) into a scrollable `Recorded Laps` history list without interrupting the main clock, and a `Reset` button that stops timing and clears both the main counter and all recorded laps back to `00:00.00`.
Understanding the difference between display resolution and actual timing accuracy is important whenever using a software stopwatch. Internally, when you press `Start`, the stopwatch anchors your starting reference using wall-clock epoch milliseconds (`const start = Date.now() - swTimeMs`) and runs a `10 ms` UI refresh loop (`setInterval(..., 10)`) that computes `Date.now() - start`. While the digital readout displays two decimal places (`0.01 s` or `10 ms` resolution), real-world timing precision in any web browser is governed by your monitor's refresh rate (typically `60 Hz`, or `~16.67 ms` per visual frame), operating-system thread scheduling, and human pointer/touch reaction latency (`150 ms – 250 ms`). Consequently, this tool is ideal for everyday sports, fitness, and productivity timing, but it should not be used as a substitute for hardware-triggered photo-finish or laboratory-grade chronometers.
Browser Tab Backgrounding and Power-Saving Behavior: Because the stopwatch calculates elapsed time by comparing the current system clock (`Date.now()`) against the anchored `start` timestamp rather than merely adding `10 ms` on every timer tick, switching to another browser tab or minimizing the window will not cause the clock to lose time. Even though modern browsers throttle background `setInterval` callbacks to once per second (`1,000 ms`) or slower to conserve battery and CPU, the display immediately snaps to the true elapsed wall-clock duration as soon as you return to the tab. Keep in mind, however, that all stopwatch state lives in your active browser tab's memory—reloading the page or closing the browser tab will reset the timer and clear your recorded laps.
वर्कआउट और एक्सरसाइज, दौड़ के अभ्यास, स्पीडक्यूबिंग, भाषण या प्रेजेंटेशन की प्रैक्टिस और पढ़ाई के सत्रों में बीते हुए समय (Elapsed Time) को सटीक रूप से मापने के लिए एक भरोसेमंद स्टॉपवॉच बहुत उपयोगी होती है। हमारी 'Online Stopwatch' पूरी तरह आपके वेब ब्राउज़र में काम करती है और समय को `MM:SS.hh` फॉर्मेट (मिनट, सेकंड और सेकंड के सौवें हिस्से यानी सेंटीसेकंड) में प्रदर्शित करती है। इसमें तीन मुख्य नियंत्रण बटन दिए गए हैं: `Start` / `Pause` बटन जिससे आप टाइमर को शुरू कर सकते हैं और बीच में रोककर (Pause) ठीक उसी समय से दोबारा आगे बढ़ा सकते हैं; `Lap` बटन (जो स्टॉपवॉच चलते समय सक्रिय रहता है) जिससे मुख्य घड़ी को रोके बिना `Recorded Laps` सूची में अलग-अलग चरणों का कुल समय (`Lap 1`, `Lap 2` आदि) दर्ज किया जा सकता है; और `Reset` बटन जो घड़ी तथा सभी रिकॉर्ड किए गए लैप्स को शून्य (`00:00.00`) पर रीसेट कर देता है।
किसी भी डिजिटल या वेब स्टॉपवॉच का उपयोग करते समय 'डिस्प्ले प्रिसिजन' (Display Precision) और 'वास्तविक समय सटीकता' (Actual Timing Accuracy) के अंतर को समझना आवश्यक है। जब आप `Start` दबाते हैं, तो यह टूल सिस्टम के वर्तमान समय (`const start = Date.now() - swTimeMs`) को आधार बनाकर हर `10 मिलीसेकंड` (`setInterval(..., 10)`) पर स्क्रीन को अपडेट करता है। यद्यपि स्क्रीन पर सेकंड के सौवें हिस्से (`0.01 सेकंड`) तक के अंक दिखते हैं, लेकिन व्यावहारिक सटीकता आपकी स्क्रीन की रिफ्रेश रेट (सामान्यतः `60 Hz` यानी प्रति फ्रेम `~16.67 ms`), ब्राउज़र के इवेंट लूप और बटन दबाने में लगने वाले मानवीय प्रतिक्रिया समय (`150 से 250 मिलीसेकंड`) पर निर्भर करती है। इसलिए यह दैनिक फिटनेस, पढ़ाई और सामान्य खेलों के लिए बिल्कुल उपयुक्त है, किंतु यह प्रयोगशाला-स्तरीय (Laboratory-grade) या ओलंपिक फोटो-फिनिश हार्डवेयर सेंसर का विकल्प नहीं है।
ब्राउज़र टैब बदलने (Tab Backgrounding) और डिवाइस स्लीप की सीमाएं: चूंकि यह स्टॉपवॉच हर टिक पर केवल गिनती जोड़ने के बजाय सिस्टम घड़ी (`Date.now() - start`) के वास्तविक अंतर से समय निकालती है, इसलिए यदि आप स्टॉपवॉच चालू रखकर किसी दूसरे ब्राउज़र टैब पर चले जाते हैं, तब भी समय पीछे नहीं छूटता। बैकग्राउंड टैब में बैटरी बचाने के लिए ब्राउज़र भले ही स्क्रीन अपडेट को धीमा कर दे, लेकिन जैसे ही आप वापस इस टैब पर आते हैं, स्टॉपवॉच तुरंत सही बीता हुआ समय दिखा देती है। हालांकि ध्यान रखें कि यह डेटा आपके ब्राउज़र टैब की अस्थायी मेमोरी (RAM) में रहता है—इसलिए पेज को रिफ्रेश (Reload) करने या टैब बंद करने पर चलती हुई स्टॉपवॉच और लैप रिकॉर्ड मिट जाएंगे।