Frame Rate Test
Measure the real frame rate this device is delivering right now. Open the live counter and watch frames per second, average and minimum FPS, 1% low, frame-time jitter, and stutter count while the page stays in the foreground. It works as a plain fps tester and fps checker wherever you need to measure fps — a browser tab, a canvas game or a WebGL scene — and doubles as a quick browser performance check.
Frame Rate Test
Measure live FPS, frame pacing, and 1% low on this device.
📋 How to Test
Click Start Test and leave this tab in the foreground for at least 10 seconds. The counter samples real frame intervals with requestAnimationFrame. A stable result keeps average FPS close to the 1% low and shows a flat FPS history. Large gaps between average and 1% low, or a rising stutter count, mean frames are being delivered unevenly — close heavy background apps, disable VSync, or update your graphics driver.
Online Frame Rate Test and FPS Counter
This frame rate test runs entirely in the browser and requires no installation, no plugin, and no account. It reports the live FPS counter, the average and minimum frame rate, the 1% low, the frame-time standard deviation that describes jitter, and a stutter count based on frames that took more than twice the median interval to arrive. Because it samples real animation frame timestamps, it is an accurate measure of any web application, browser game, or canvas and WebGL scene you are working on. If you want to verify the panel refresh rate rather than the delivered frame rate, use the refresh rate test instead, which measures the display ceiling and includes a motion test for ghosting.
How to Test Frame Rate and FPS
- 1 Close heavy background applications first, because the browser measures the whole machine, not only this tab.
- 2 Set this tab to be the active window, since browsers throttle animation frames in background tabs and the reading will collapse.
- 3 Click Start Test and leave the counter running for at least ten seconds, which is when the run completes automatically.
- 4 Watch the average FPS settle, then compare it with the 1% low figure underneath to see whether frames are being delivered evenly.
- 5 Read the stutter count and the FPS history chart together: a flat chart with no stutters means stable pacing.
- 6 If the numbers look bad, close one application at a time and rerun the test to identify which one was responsible.
⚠️ A browser can only measure frames it is asked to draw. This test reports the frame rate of the browser rendering pipeline, which is a valid measure of a web application or a browser game, but it cannot read the FPS counter inside a native game running in another window.
What Is Frame Rate and What Does FPS Mean?
Frame rate is the number of complete images a device delivers per second, measured in frames per second or FPS. Every frame takes a certain amount of time to produce, and that frame time in milliseconds is what actually determines smoothness. Sixty FPS means an average frame time of 16.7 milliseconds, 120 FPS means 8.3 milliseconds, and 30 FPS means 33.3 milliseconds. The reason frame time matters more than the headline FPS number is that an average can hide a great deal. A run of 90 FPS could consist of ninety even 11 millisecond frames, or of eighty fast 8 millisecond frames interrupted by ten 60 millisecond stalls, and the second case looks and feels far worse even though both average 90. That is why a frame rate test reports jitter and the 1% low alongside the average.
How to Read Your Frame Rate Results
The six figures on this page describe the same measurement from different angles, and together they tell you whether rendering is fast, even, or both. A healthy run is fast, has a 1% low close to the average, shows a low frame-time standard deviation, and reports few or no stutters. If you mark a problem, the diagnostic panel converts the run into a health score with a likely cause and a short list of things to try.
- Average FPS is close to the display refresh rate, for example 58 to 60 on a 60Hz panel.
- The 1% low is within roughly 10 to 20 percent of the average, so no frame category is being starved.
- Frame-time standard deviation is below about 2 milliseconds on a stable, well configured system.
- The stutter count stays at zero or single digits across a full ten-second run.
- The FPS history chart is flat, with no repeated deep dips.
- Minimum FPS does not collapse to a fraction of the average at any point during the run.
Average FPS vs 1% Low FPS
📊 Average FPS
Average FPS is the mean frame rate across the whole run. It describes throughput: how much work the system gets done per second. It is the number printed on a benchmark chart and the number quoted in reviews, and on its own it is the least trustworthy figure here, because a handful of very fast frames can pull the average up while the experience still stutters. Treat average FPS as the headline, then immediately check the 1% low before drawing any conclusion about smoothness.
🎯 1% Low FPS
The 1% low is calculated by taking the slowest 1 percent of frames in the run and averaging them, then converting that average frame time back into a frame rate. It answers a different question: how bad are the bad moments? If your average is 120 FPS but the 1% low is 45 FPS, then roughly one frame in a hundred takes more than three times as long as it should, and those stalls are what players actually notice as hitches, rubber-banding, and missed inputs. As a rule of thumb, a healthy system keeps the 1% low within about 10 to 20 percent of the average.
What Is a Good FPS and How Much Jitter Is Normal?
For general desktop work, video, and browsing, anything at or above 60 FPS is comfortably smooth, because it matches the refresh rate of most displays. For fast-paced gaming, 60 FPS is playable, 120 FPS is a clear improvement in motion clarity and input response, and 240 FPS mainly benefits competitive players on matching high refresh rate panels. What matters more than the peak number is consistency: a locked 60 FPS with a 1% low of 55 feels considerably better than an average of 90 with a 1% low of 30.
On jitter, a frame-time standard deviation under about 2 milliseconds indicates tight pacing, 2 to 5 milliseconds is acceptable, and anything above 5 milliseconds usually means frames are arriving in an uneven pattern that the eye reads as stutter even when the average looks healthy. Remember that the browser measures the whole machine, so a second monitor playing video, a background download, an aggressive power saving profile, or a thermal throttle can all raise jitter without anything being wrong with the display itself.
How to Fix Low or Unstable Frame Rate
Try these in order
- Close other browser tabs, video calls, and launchers, then rerun the test to see how much of the drop was background load.
- Check CPU and GPU utilisation while the test runs, because a pinned core or a busy graphics queue is the usual cause of a low 1% low.
- Switch the browser or system power profile from a saving mode to balanced or high performance, especially on laptops running on battery.
- Update the graphics driver, and on hybrid graphics laptops confirm the browser is using the discrete GPU rather than integrated graphics.
- Disable or reduce VSync and frame rate caps temporarily, since a cap combined with a mismatched refresh rate can create uneven pacing.
- Lower the rendering load of whatever you are measuring: reduce resolution, disable heavy effects, and rerun the test for an apples-to-apples comparison.
⚠️ Important
A frame rate test measures the whole chain, and the browser is deliberately not a bare-metal benchmark. Background operating system tasks, browser extensions, and thermal throttling all move the numbers, which is why a single run proves very little. Run the test three times and compare the spread rather than trusting one reading, always with the same tab in the foreground. If two different browsers report very different figures on the same machine, the difference is in the browsers rather than in your hardware, and that is itself a useful finding.
Why Use This Frame Rate Test
A large real-time frames-per-second readout sampled on every animation frame.
Rolling average frame rate plus the worst instantaneous value across the whole run.
The average of the worst 1% of frames, which exposes stutter that averages hide completely.
Standard deviation of frame intervals, so you can judge pacing rather than only speed.
Counts frames that needed more than twice the median interval to be delivered.
A rolling bar chart of the recent frame rate window, so dips are visible at a glance.
The measurement finishes itself after ten seconds, which makes runs repeatable.
Start and stop with a single button. No hotkeys needed while another app has focus.
Mark stuttering and get a health score with likely causes and concrete next steps.
Download the run as a structured report for support tickets or benchmark records.
All sampling happens locally in your browser. Nothing is uploaded and no account is needed.
Runs in the browser tab you already have open, with no app, plugin, or extension.
Supported Scenarios & Limitations
Quickly check whether Frame Rate Test is the right tool for your needs. The lists below show exactly what this browser-based tool can and cannot do.
Works With
- Browser games built with canvas, WebGL, or WebGPU
- Web applications and dashboards where smooth scrolling matters
- Desktop monitors from 60Hz up to 240Hz and beyond
- Gaming laptops on Windows, macOS, and Linux
- High refresh rate smartphones and tablets
- External displays connected over HDMI, DisplayPort, or USB-C
- Integrated and discrete GPUs, including hybrid graphics laptops
- Variable refresh rate displays with FreeSync or G-Sync enabled
- Virtual machines and remote desktop sessions for relative comparison
- Second-hand or refurbished GPUs before you accept the sale
Not Supported
- In-game FPS for native applications, because a browser cannot read another program internals
- GPU utilisation, VRAM usage, and clock speed telemetry
- Frame generation, upscaling, and ray tracing feature validation
- Precise click-to-photon input latency in milliseconds
- Thermal throttling curves measured over long sessions
- Absolute benchmark scores that are comparable across different machines
Frame Rate Test only verifies whether input events reach the browser. It cannot determine whether a failure is caused by hardware, drivers, firmware, or the operating system.
Frame Rate Behaviour by Browser and Device
Uncapped requestAnimationFrame pacing, so a fast machine on a high refresh rate panel reports the true refresh rate as the ceiling.
Comparable pacing to Chromium browsers, with frame timing that can differ slightly depending on the compositor backend in use.
Tightly coupled to the display refresh rate and to ProMotion, so a 120Hz screen commonly reports a clean 120 FPS ceiling.
Almost always capped at the device refresh rate, and aggressive thermal management can reduce it within minutes of sustained load.
Frame delivery depends on the host and the display protocol, so results are useful only for relative comparison, never as absolute performance.
Reading the numbers in context
The ceiling you should expect is your display refresh rate, not an unlimited number. On a 60Hz panel a healthy result is 58 to 60 FPS, and a reading far above 60 means the compositor is not synchronising tightly rather than that the hardware is outperforming its own panel. Enable the operating system frame rate counter alongside this test if you want a second opinion. When you compare results, compare the ratio between average and 1% low, because that ratio is portable across machines while the raw FPS figure is not.
Privacy and Accuracy
This frame rate test uses the requestAnimationFrame timestamp that the browser already provides, and all sampling and statistics are computed locally in your browser. No frame data, session information, or result is uploaded, and there is no account, extension, or download involved. That matters for a performance measurement, because an instrument that adds background load can change the very number it is trying to report.
Accuracy has one honest limit. This test reports how fast frames are being delivered to the screen by the browser rendering pipeline, which is exactly the right measure for a web application, a browser game, or a scrolling interface. It cannot report the internal FPS counter of a native game running in another window, and it cannot measure GPU utilisation, clock speed, or input latency in milliseconds. Use it to find and prove frame pacing problems, then use the in-game overlay of the application itself when you need that application internal telemetry.
Frame Rate Test FAQ
What is an FPS test (frame rate test) and what does it measure? ▼
A frame rate test measures how many images a device delivers per second, and how evenly those images arrive. This test samples the timestamp the browser attaches to every animation frame and converts the interval between consecutive frames into a frame rate in FPS. From those samples it reports six figures: the live counter, the average, the minimum, the 1% low, the standard deviation of frame intervals, and a stutter count. The average describes throughput while the other five describe consistency, which is why they are reported separately. A single average number cannot tell you whether a run was smooth or full of hitches.
How do I test my FPS online? ▼
Make sure this tab is the active window, because browsers throttle animation frames in background tabs and the reading will collapse to a token rate. Close heavy applications, click Start Test, and leave the counter running for at least ten seconds, at which point the run completes automatically and the diagnostic panel scores it. Watch the average settle first, then compare it against the 1% low directly underneath, and read the frame-time jitter and stutter count last. For a fair comparison, run the test three times under identical conditions and compare the spread rather than trusting one reading, since a single run is easily skewed by a background update.
What is 1% low FPS and why does it matter more than average? ▼
The 1% low takes the slowest one percent of frames in a run, averages their frame times, and converts that back into a frame rate. It answers the question the average cannot: how bad are the bad moments? If the average is 120 FPS but the 1% low is 45 FPS, then about one frame in a hundred takes more than three times as long as it should, and those stalls are exactly what players perceive as hitching and missed inputs. As a practical rule, a healthy system keeps the 1% low within roughly 10 to 20 percent of its average, and any wider gap points at a pacing problem rather than a raw speed problem.
What is a good FPS for gaming and general use? ▼
For desktop work, video, and browsing, 60 FPS is comfortably smooth because it matches the refresh rate of most displays. For gaming, 60 FPS is playable, 120 FPS gives a clear improvement in motion clarity and input response, and 240 FPS mainly benefits competitive players who also have a matching high refresh rate panel. Above your panel refresh rate, extra frames are largely discarded, so a 90 FPS result on a 60Hz screen mostly adds smoothness through reduced tearing rather than through visible extra frames. Consistency matters more than the peak, and a locked 60 with a 1% low of 55 feels better than an average of 90 with a 1% low of 30.
Why does my FPS drop or stutter? ▼
Stutter almost always comes from uneven frame times rather than from an insufficient average. The most common cause is background load: a second monitor playing video, a browser tab decoding a large page, a cloud sync client, or a system update all steal CPU and GPU time in bursts. The second common cause is thermal or power management, since laptops on battery and thin chassis under sustained load reduce clocks, which is why a run often starts fast and degrades within a minute. The third is a frame rate cap combined with a mismatched refresh rate, where VSync and a 60 FPS cap on a 60Hz panel fight each other and produce visible judder.
Is an online frame rate test accurate? ▼
It is accurate for what it measures, which is the frame rate the browser rendering pipeline actually delivers to the screen, and it is the correct tool for a web application, a browser game, or a canvas and WebGL scene. Every frame is timestamped by the browser itself, so the intervals are real and not estimated. The limits are scope rather than precision: the browser cannot read the internal FPS counter of a native game in another window, cannot report GPU utilisation or clock speed, and cannot measure click-to-photon latency. It also cannot be a bare-metal benchmark, because the operating system and the browser both add their own load.
What is the difference between a frame rate test and a refresh rate test? ▼
They measure two different things that are easy to confuse. A refresh rate test measures the panel ceiling: how many times per second the display can physically redraw, typically 60, 120, 144, or 240 times, and it also checks for ghosting and frame skipping. A frame rate test measures what is actually being delivered into that ceiling. The relationship matters: if your panel is 144Hz but the delivered frame rate is 60, the display is not the bottleneck at all and upgrading it would change nothing. Run the refresh rate test to establish the ceiling, then run the frame rate test to see how much of that ceiling you are actually using.
How do I fix low FPS in the browser? ▼
Work through the causes in order of likelihood. First close other tabs, video calls, and launchers, then rerun the test to see how much of the drop was background load. Second, check CPU and GPU utilisation during the run, because a single pinned core or a busy graphics queue normally explains a low 1% low. Third, switch the operating system power profile from a saving mode to balanced or high performance, which matters most on laptops running on battery. Fourth, update the graphics driver and confirm that a hybrid graphics laptop is using the discrete GPU. Finally, reduce the rendering load of the page you are measuring.
Can I test the FPS of a game with this tool? ▼
You can test any game that runs inside the browser tab, including HTML5, canvas, WebGL, and WebGPU titles, because those are drawn through the same animation frame pipeline this test samples. You cannot test a native game running in another window or in fullscreen exclusive mode, because a web page has no access to another application internals. For native games, use the built-in FPS overlay of the game or the graphics driver, for example the performance overlay in NVIDIA GeForce Experience or AMD Adrenalin. Use this test for browser games and web applications, and use those overlays when you need in-game telemetry.
What is frame time and how is it different from FPS? ▼
Frame time is how long a single frame takes, measured in milliseconds, while FPS counts how many frames fit into one second. The two are mathematical inverses: 60 FPS equals 16.7 ms per frame, 120 FPS equals 8.3 ms, and 144 FPS equals 6.9 ms. Frame time is the more revealing figure when you are chasing stutter, because it describes each frame on its own instead of averaging a whole second of them. A run that averages 60 FPS can still contain individual frames of 40 ms or worse, and those long frames are exactly what the eye reads as a hitch. This test reports frame time directly so the outliers that a plain counter hides become visible.
Why is my FPS high but the game still feels laggy? ▼
A high average with unstable frame times feels worse than a lower but steady one, because the eye is far more sensitive to changes in pacing than to absolute speed. If a run averages 144 FPS but every tenth frame takes 30 ms, motion will visibly judder despite the healthy average. Typical causes are one CPU thread saturating, a shader compilation stall, a texture streaming hitch, or a background process competing for the GPU. The practical check is to watch the 1% low and the stutter count rather than the average: a 1% low within 10 to 20 percent of the average means pacing is healthy, and a wider gap means the bottleneck is a spike rather than raw performance.
What is a frame rate cap and should I use one? ▼
A frame rate cap limits how many frames the application is allowed to produce, usually to keep the output aligned with the display. Capping slightly below the panel refresh rate, for example 141 FPS on a 144Hz screen with VSync enabled, is the standard way to cut input latency while avoiding tearing. On a variable refresh display such as G-Sync or FreeSync, a cap below the maximum refresh keeps the panel inside its variable range and stops it dropping back to fixed-rate behaviour. A cap only becomes harmful when it is set below what the system could otherwise deliver for no good reason, because it then leaves real performance unused.
Quick Summary
Frame rate tells you how fast frames are produced, and the 1% low tells you how bad the worst moments are. Run this test with the tab in the foreground for ten seconds, then read the average, the 1% low, the frame-time jitter, and the stutter count together. A healthy run is fast and even: average close to your refresh rate, 1% low within about 20 percent of it, and a flat history chart. If the numbers disappoint, close background load, switch to a performance power profile, and update the graphics driver before assuming the hardware is at fault.