Monitor Testing

Refresh Rate Test

Times consecutive animation frames to estimate your display's effective refresh rate, with live FPS, frame time, and stability stats plus a bucketed Hz readout once enough samples come in.

Current FPS
--
Average FPS
--
Min FPS
--
Max FPS
--
Frame Time
--
Stability
--
This is a browser-based estimate, not a certified hardware reading. Operating systems and browsers throttle, batch, and vsync frame delivery in ways that vary by platform, power state, and background load — treat the detected rate as indicative, not authoritative. For a precise number, use your OS display settings or a dedicated native tool.

Detected Refresh Rate

--
Estimated Hz
Status

Detection appears after a few seconds of sampling. Let the test run for at least 5 seconds for a stable reading.

Status Bands

144Hz+Excellent
90–143HzGood
60–89HzAverage
< 60HzLimited

About this tool

This tool estimates your display's effective refresh rate by timing consecutive requestAnimationFrame callbacks — the browser calls that function right before each repaint, so the interval between calls is a reasonable proxy for how often your screen is actually refreshing while the animation runs. A bouncing ball gives you a visual reference for smoothness while the real measurement happens in the timing data behind it.

The detected rate is computed from the median frame interval over a rolling window of the most recent 120 frames, converted to an implied Hz and then snapped to the nearest common refresh rate (60/75/90/120/144/165/240/360Hz) if it falls within about 6% of one — otherwise it's reported as an unbucketed "Other" value rather than forced into the wrong category.

Key features

  • Live Current, Average, Minimum, and Maximum FPS, plus per-frame time in milliseconds
  • A stability percentage (minimum ÷ average FPS) showing how consistent frame delivery has been, not just the average
  • Detected Refresh Rate readout bucketed to the nearest common Hz value once enough samples have accumulated
  • Qualitative status band (Excellent / Good / Average / Limited) based on the detected rate
  • Start / Stop / Reset controls and a fullscreen mode for the animation area

Why use it

  • Confirm a high-refresh-rate monitor or laptop panel is actually running at its rated Hz, not silently falling back to 60Hz
  • Check whether a cable, adapter, or display mode change dropped your effective refresh rate
  • Get a rough smoothness comparison between two displays without installing anything

Why refresh rate testing matters

A display can be physically capable of 144Hz or 240Hz and still end up running at 60Hz because of a cable that doesn't support the full bandwidth, a display mode that wasn't applied correctly, a GPU driver setting, or an OS default that silently reverted after a driver update. None of that is obvious just by looking at the desktop — the animation still moves, it just doesn't move as smoothly as it should. A quick timing-based check like this one is often the fastest way to notice the mismatch.

Tips for accurate results

  • Let the test run for at least 5–10 seconds before trusting the detected Hz value — the first couple of seconds can be noisy while the browser and OS settle into a steady rendering cadence.
  • Close other tabs and background apps that compete for GPU/compositor time — heavy background load can drag your measured rate down independent of your display's real capability.
  • Make sure the browser window isn't being scaled, moved between displays, or occluded during the test — any of those can interrupt frame delivery.
  • If you have a variable refresh rate (G-Sync/FreeSync) display, expect more variation — that's the display working as intended, not a fault.

A quick accuracy note

This is a browser-based approximation, not a certified hardware reading. Operating systems throttle background tabs, browsers batch and vsync frame delivery differently across platforms, and power-saving states can all shift the numbers. Treat the detected Hz as a strong indicator, not a lab-grade measurement — for a definitive number, check your OS display settings or use a dedicated native refresh-rate testing tool.

Frequently asked questions

Why does my 144Hz monitor show as "Other: ~120Hz" or similar?

That usually means the actual rendering rate the browser is achieving doesn't cleanly match 144Hz within the tolerance band — worth checking your OS display settings and cable/port to confirm 144Hz mode is actually active, since a browser-level bottleneck or an incorrectly applied display mode are both common causes.

Why does my stability percentage stay below 100%?

Some variation is completely normal — background OS activity, garbage collection pauses, and compositor scheduling all introduce small timing jitter. A stability figure in the 90%+ range with a correctly detected Hz is generally a healthy result.

Can this test detect variable refresh rate (G-Sync/FreeSync) behavior?

Not directly — it reports an aggregate estimate over the sampling window, so it can't distinguish a fixed 60Hz panel from a VRR panel that happened to average out near 60Hz during the test. It's best used on fixed-refresh-rate displays, or as a rough smoothness check on VRR displays.

Why did my numbers change when I moved the browser window to another monitor?

That's expected — the effective refresh rate the browser targets is tied to whichever display currently contains the window, so moving windows between monitors with different refresh rates should change the detected value accordingly.