FPS Test: Check Your Browser Frame Rate & 1% Lows

Free online FPS test: live frame-rate meter, refresh-rate detection, 1% and 0.1% lows, frame-time graph, 15/30/60 FPS motion comparison and CPU or GPU (WebGL) stress benchmarks with a grade. No download, 100% in-browser.

Built and maintained by Shehzad Munir ·

FPS Test
Loading FPS Render Array
Share
Cite or link to this tool

Using this tool in an article, lesson or report? Copy a ready-made link or citation.

HTML link

<a href="https://www.toolnova.org/diagnostics-tools/fps-test">FPS Test</a> by ToolNova

APA

ToolNova. (2026, September 28). FPS Test [Online tool]. https://www.toolnova.org/diagnostics-tools/fps-test

MLA

“FPS Test.” ToolNova, 28 Sept. 2026, www.toolnova.org/diagnostics-tools/fps-test.

How this FPS test measures frame rate

An advanced online FPS test that measures your real browser frame rate from every screen refresh. A live FPS meter starts instantly and auto-detects your display's refresh rate (60, 120, 144, 165, 240 Hz and more). Run a 10, 30 or 60-second benchmark for average FPS, 1% and 0.1% lows, stability, dropped frames and 50th/95th/99th percentile frame times, watch a live frame-time graph, compare motion smoothness at 15, 30, 60 and full FPS side by side, and put real load on your CPU (Canvas 2D) or GPU (WebGL shader) with five stress levels. It also shows your GPU, CPU threads and screen, and saves your best results locally.

Browsers draw a new frame in sync with your monitor's refresh (V-Sync) and expose each frame's timestamp through requestAnimationFrame. The tool records the exact time between every frame, so the numbers are measured, not estimated: FPS is 1000 ÷ average frame time, and every stutter shows up as a long frame. It first calibrates on your idle frames to detect your refresh rate, ignores gaps caused by hidden tabs, and updates the live meter four times a second. Because browsers cap animation at your refresh rate, a perfect score equals your display's Hz, not an unlimited number like in-game benchmarks.

Features

  • Always-On FPS Meter: A live FPS counter and ms-per-frame readout start immediately, with a colour ring that shows how close you are to your refresh rate.
  • Refresh Rate Detection: Auto-detects 60, 75, 90, 120, 144, 165, 240 Hz and higher displays from real frame timing.
  • Timed Benchmarks: 10, 30 and 60-second runs (or unlimited) with a Flawless-to-Struggling grade and personal best per duration and load.
  • Pro Frame Metrics: Average, peak and minimum FPS, 1% and 0.1% lows, stability score, dropped frames and stutters.
  • Frame-Time Percentiles: Median (P50), 95th and 99th percentile frame times in milliseconds, the numbers reviewers use.
  • Live Frame-Time Graph: The last 180 frames as bars with 60 Hz/refresh and 33 ms guide lines; stutters are highlighted in red.
  • Motion Comparison Lanes: The same object moving at 15, 30, 60 and your full refresh rate to see and compare smoothness, with three speeds.
  • CPU & GPU Stress Tests: Canvas 2D particles (600 to 16,000 objects) or a WebGL shader (GPU) across five load levels.
  • System Info: GPU renderer, browser, screen resolution and pixel ratio, CPU threads and device memory.
  • History, Share & Fullscreen: Saved benchmark history, one-tap result sharing and a fullscreen mode; hidden-tab pauses are excluded automatically.

How to use FPS Test

  1. 1

    Watch the live meter

    The FPS ring starts as soon as the page loads and detects your display's refresh rate. A healthy system sits at or very near that number.

  2. 2

    Choose a benchmark length

    Pick 10, 30 or 60 seconds for a graded run, or ∞ to record until you press Stop. Keep this tab visible while it runs.

  3. 3

    Add CPU or GPU load (optional)

    In the Render stress stage choose CPU (Canvas 2D particles) or GPU (WebGL shader) and a level from Light to Extreme to see how much headroom you have.

  4. 4

    Run and read the results

    Press Run benchmark. You'll get average FPS, 1% and 0.1% lows, stability, dropped frames and P50/P95/P99 frame times, plus a grade.

  5. 5

    Compare motion and history

    Use the motion lanes to see how 15, 30 and 60 FPS compare to your full refresh rate, and check the history table to compare runs.

Common use cases

  • Check that a 120 Hz, 144 Hz or 240 Hz monitor is actually running at its full refresh rate in the browser
  • Diagnose stutter with 1% and 0.1% lows and frame-time percentiles even when average FPS looks fine
  • Stress-test a laptop GPU with WebGL and watch for thermal throttling over a 60-second run
  • Compare browsers, or hardware acceleration on vs off, with the same benchmark settings
  • See the visible difference between 30, 60 and 144 FPS side by side before buying a high-refresh monitor
  • Measure the FPS cost of extensions, background tabs or battery-saver mode
  • Share a quick, reproducible frame-rate result with support or a friend

Detailed guide

Average FPS vs 1% lows vs frame-time percentiles

Average FPS hides stutter. If 99 frames take 7 ms and one takes 60 ms, the average still looks great, but you feel the hitch. 1% low and 0.1% low show the FPS of your slowest 1% and 0.1% of frames, and the P95 and P99 frame times show how long your slowest frames take. Close to your refresh rate on all of them means genuinely smooth motion.

MetricWhat it tells youGood result (144 Hz display)
Average FPSOverall frame rate140+
1% lowFPS during the worst 1% of framesAbove 120
0.1% lowRare, severe hitchesAbove 90
P99 frame time99% of frames are faster than thisUnder 10 ms
StabilityHow even frame pacing is (0-100%)90%+
Dropped framesRefreshes that got no new frameNear 0

Frame time and FPS conversion table

Frame time is the inverse of FPS. The frame-time graph draws a guide line at your refresh interval and at 33.3 ms (30 FPS); bars above the green line are late frames, and red bars are frames that took more than twice as long as they should.

Refresh rate / FPSFrame time
3033.3 ms
6016.7 ms
7513.3 ms
1208.3 ms
1446.9 ms
1656.1 ms
2404.2 ms
3602.8 ms

See the difference: 15 vs 30 vs 60 vs 144 FPS

The motion comparison panel moves the same object across the screen at the same speed, but each lane only updates at its own frame rate: 15, 30, 60, half your refresh rate (on 120 Hz+ screens) and your full refresh rate. Lower lanes jump in visible steps while the bottom lane glides. If your 60 FPS lane and 'your display' lane look identical on a 144 Hz monitor, the screen is probably set to 60 Hz in your operating system, or the cable doesn't support high refresh.

CPU vs GPU stress test in the browser

The CPU mode animates 600 to 16,000 individually drawn Canvas 2D particles, which loads the main thread and the compositor. The GPU mode renders a full-screen WebGL fragment shader whose per-pixel work increases with each level, loading the graphics card. Watch how quickly average FPS and 1% lows fall as you step up the load: a desktop GPU usually stays at refresh rate far longer than an integrated laptop GPU, and a 60-second Heavy run is a quick way to spot thermal throttling as FPS decays over time.

Why is my FPS low or capped?

If the result is stuck at 60 on a high-refresh monitor, set the display to its maximum refresh rate in Windows Display Settings or macOS Displays, use DisplayPort or a high-speed HDMI cable, and disable battery-saver mode. If FPS is well below your refresh rate, make sure hardware acceleration is enabled in your browser settings, close heavy tabs and extensions, update graphics drivers, and plug laptops into power. Safari and some mobile browsers may also limit frame rate in low-power mode.

Check for dead pixelsTest your internet speed

Frequently asked questions

How do I check my FPS online?

Just open this page: the live FPS meter starts immediately and shows your current frame rate and milliseconds per frame. Press Run benchmark for a timed, graded result with 1% lows and frame-time percentiles.

Why is my FPS capped at 60 (or my refresh rate)?

Browsers synchronise animation to your monitor (V-Sync), so the maximum FPS equals your display's refresh rate. If you have a 120/144 Hz monitor but see 60, set the display to its highest refresh rate in your OS settings, check the cable, and disable battery saver.

What are 1% and 0.1% lows?

They're the frame rate during your slowest 1% and 0.1% of frames. They reveal stutter that the average hides. The closer your lows are to your average, the smoother motion feels.

What is a good FPS test result?

An average at (or within a couple of FPS of) your refresh rate, 1% lows above about 85% of it, stability over 90% and few or no dropped frames. The tool grades this automatically from Flawless to Struggling.

What's the difference between the CPU and GPU stress tests?

CPU mode draws thousands of Canvas 2D particles, loading the processor and compositor. GPU mode renders a heavy WebGL shader across every pixel, loading the graphics card. Use both to find which part of your system limits frame rate.

Does this FPS test detect my monitor's refresh rate?

Yes. It measures the median time between idle frames and snaps it to common refresh rates like 60, 75, 120, 144, 165 and 240 Hz. For a dedicated check, try the refresh rate test.

Can I see the difference between 30, 60 and 144 FPS?

Yes. The motion comparison panel moves identical objects at 15, 30, 60 and your full refresh rate side by side, with adjustable speed, so you can see the smoothness difference for yourself.

Why do I get a warning about the tab being hidden?

Browsers pause animation in background tabs. The test automatically excludes those gaps, but for the most accurate result keep the tab visible and in front for the whole run.

Is anything uploaded?

No. All measurements run locally in your browser. Your best scores and history are stored only in your browser's local storage.

Why does my FPS cap at 60 on a 144Hz monitor?

The browser may be limited by vsync, power-saving settings, or the display's active refresh rate. Check your OS and browser are set to the higher rate.

Does this test my whole computer?

No: it measures your browser's rendering performance, which reflects but isn't identical to full-system or native-game FPS.

From the journal

All articles →