Three decimal places on a clock suggest a lab instrument. They are not. The .847 you see is a frame-lagged snapshot of your system clock, already 16 to 50 milliseconds old by the time it hits the screen. The counter is precise to the frame. It is not calibrated to the second.

What the Seconds Counter Displays

The counter shows hours, minutes, seconds, and milliseconds: 14:23:05.847. The last group is milliseconds, thousandths of a second past the 5-second mark.

The display updates once per frame. On a 60Hz screen, that is roughly every 16 milliseconds. On a 120Hz display, every 8 milliseconds. On a 144Hz display, faster still. The screen's refresh rate sets the ceiling on how often the number changes.

Milliseconds: What the Numbers Mean

Milliseconds on screen do not equal millisecond accuracy.

The value is calculated from your system clock. The moment it appears on screen is delayed by the browser's rendering pipeline. That pipeline adds variable latency, typically 16 to 50 milliseconds, depending on hardware, background load, and page complexity. The displayed reading was computed earlier than it appears. The milliseconds are a snapshot of the recent past, not the present.

How the Display Updates

The counter uses requestAnimationFrame, a browser API that synchronizes with the screen's refresh cycle. Unlike setInterval, which fires when the browser gets around to it, requestAnimationFrame fires before each repaint. The result is a seconds counter that moves without stuttering.

The callback receives a DOMHighResTimeStamp with sub-millisecond precision. The display recalculates from that stamp.

Switch to another tab and the visual update stops. Browsers throttle background tabs to save battery; requestAnimationFrame pauses entirely in hidden tabs. Return to the tab and the counter recalculates from system time immediately. It is never wrong. It does not tick while hidden.

Precision vs Accuracy: What to Expect

Precision is three decimal places on the display. Accuracy is how closely those decimals reflect real time. They are not the same thing.

The displayed time comes from Date.now(), which reads the operating system clock. The OS syncs via NTP (Network Time Protocol), typically every 9 to 64 minutes depending on the operating system. Between syncs, consumer hardware drifts. A quartz crystal oscillator loses 1 to 15 seconds per month.

The practical result: the milliseconds are precise to the frame, but offset from true time by 50 to 200 milliseconds at any given moment. For timing a speech or checking if a process is slow, that is adequate. For scientific measurement, it is not.

Fullscreen Seconds Display

Click the fullscreen button and the counter fills the entire screen, milliseconds included. The Fullscreen API requires a user gesture. Browsers will not let a page force fullscreen on load. That is a security feature, not a limitation.

Fullscreen mode does not keep the screen awake. The Screen Wake Lock API handles that, and it must be requested separately. If the counter runs on a second monitor, adjust the OS power settings to prevent the display from sleeping.

Use Cases for Sub-Second Display

  • Network diagnostics: measuring response times, spotting jitter.
  • Audio/video sync: checking lip-sync issues or audio lag.
  • Presentation timing: keeping a strict pace without visible countdown anxiety.
  • Trading or auction environments: where the difference between bids is measured in frames.
  • ADHD time management: seeing time move at a granular level can make it feel more tangible. A visible clock helps with time blindness.

For each case, the counter provides a real-time view of time's passage that a seconds-only display cannot match.