β‘ HZ TESTER Online
Visual display tester β compare framerates, detect PWM flicker, test motion blur, judder & benchmarks. Plus live Hz measurement for monitor, mouse & keyboard.
UFO TEST
LIVE
VISUAL
OBJECTS:
SPEED:
TRAIL:
β
DETECTED HZ
β
FRAME TIME
β
STABILITY
β
MIN HZ
πΈ Each row runs at a different framerate β halving each time (60β30β15β7.5ββ¦). Smoother rows have higher fps; jerkier rows show fewer position updates per second. On a 60 Hz monitor even the top row caps at 60. Use this to instantly see what "30fps vs 15fps" really looks like on your display.
HZ MEASUREMENT
β Monitor / Mouse / Keyboard polling rate tester
LIVE
βΈ
MONITOR
LIVE
TEST MODE
KEYWORD LABEL
COMMON TARGET HZ β click to set
60
120
144
165
240
360
500
1000
2000
4000
8000
β
HZ
IDLE
β
AVERAGE HZ
β
PEAK HZ
β
STABILITY
0
SAMPLES
LIVE CHART
SESSION STATISTICS
β
CURRENT
β
AVERAGE
β
MAX
β
MIN
β
STABILITY
β
1% LOW
β
JITTER (Ο)
0
SAMPLES
KEYWORD RANKINGS
0 SAVED
βΈ
0
RANK BY:
π No saved results yet β run a test then click "Save to Rankings".
SETTINGS & CUSTOMIZATION
ADVANCED
βΈ
ADVANCED5 TABS
MEASUREMENT
TEST DURATION
How long to sample before auto-stopping
SAMPLE RESOLUTION
Bucket size β lower = more granular
DECIMAL PRECISION
Digits shown after decimal point
CUSTOM TARGET HZ
Sets ring fill goal and dashed chart line
WARMUP & FILTERING
WARMUP DISCARD
Drop initial samples before recording
OUTLIER FILTER
Remove spikes beyond NΓ std-dev
MIN SAMPLES TO SAVE
Refuse save if fewer samples collected
KEYBOARD SHORTCUT
β¨οΈ Press Space to start/stop test Β·
R to reset Β·
S to save result
CHART
CHART STYLE
Visual style of the live Hz chart
CHART HISTORY
Max data points shown on chart
SHOW TARGET LINE
Dashed target Hz line on chart
HZ NUMBER
NUMBER SIZE
Size of the big Hz readout
COLOR-CODE RESULT
Green / yellow / red vs target Hz
BUMP ANIMATION
Scale pop on each new reading
RING
ANIMATE HZ RING
Arc fill based on Hz vs target
RING THICKNESS
Width of the arc stroke
STATS
SHOW 1% LOW
Bottom percentile worst-case stat
SHOW JITTER (Ο)
Standard deviation from avg Hz
COMPACT STAT CARDS
Smaller stat grid padding
AUTOMATION
AUTO-STOP
Stop automatically when duration ends
AUTO-SAVE TO RANKINGS
Save result automatically after each test
AUTO-RESET ON START
Clear previous samples when starting new test
KEYBOARD SHORTCUTS
Space/R/S hotkeys while not in text fields
ALERTS
SOUND ON COMPLETE
Beep when test finishes
TOAST NOTIFICATIONS
Bottom-right pop-up messages
ALERT IF BELOW TARGET
Warn when avg is <90% of target Hz
RANKING BEHAVIOR
MAX SAVED RANKINGS
Auto-prune oldest when exceeded
CONFIRM DELETE
Ask before removing a ranking row
SHOW MODE COLUMN
Display Monitor/Mouse/KB in rankings table
MOUSE MODE
REQUIRE CONTINUOUS MOVE
Only count Hz when mouse is moving
EXPORT OPTIONS
CSV DELIMITER
Column separator in export file
INCLUDE METADATA
Add date, mode, target Hz to CSV
EXPORT RAW SAMPLES
Include every individual Hz sample
STORAGE
π¦ Calculating storage usageβ¦
SAVED RANKINGS
0
STORAGE SIZE
β
βΉοΈ All data is stored only in your browser's localStorage. Nothing is ever sent to any server.
APPEARANCE
THEME MODE
Auto follows OS preference
ACCENT COLOR
BACKGROUND GLOW
GLOW INTENSITY
Background radial gradient strength
ABOUT THIS TOOL
HZ TEST v2.0
Part of the FPSTESTs suite β free tools for gamers and PC enthusiasts. No ads, no signup, no data collection.
Part of the FPSTESTs suite β free tools for gamers and PC enthusiasts. No ads, no signup, no data collection.
CREDITS
π₯οΈ Monitor Hz via
π±οΈ Mouse polling via
β¨οΈ Keyboard polling via
π Stats: avg, max, min, 1% low, Ο jitter, stability %
requestAnimationFrameπ±οΈ Mouse polling via
mousemove event countingβ¨οΈ Keyboard polling via
keydown event countingπ Stats: avg, max, min, 1% low, Ο jitter, stability %
TOOL SUITE
GUIDE & REFERENCE
6 TABS
βΈ
REFERENCE6 TABS
GETTING STARTED β Hz MEASUREMENT
STEP 1 β OPEN THE HZ MEASUREMENT PANEL
Click the β‘ HZ MEASUREMENT toggle below the visual tester. It's collapsed by default. Click once to expand.
STEP 2 β CHOOSE YOUR TEST MODE
π₯οΈ Monitor β measures display refresh rate via
π±οΈ Mouse β counts
β¨οΈ Keyboard β counts
βοΈ Custom β any event-based input with user-defined target Hz.
requestAnimationFrame.π±οΈ Mouse β counts
mousemove events/sec. Move continuously during test.β¨οΈ Keyboard β counts
keydown events. Hold a key for full duration.βοΈ Custom β any event-based input with user-defined target Hz.
STEP 3 β SET A KEYWORD LABEL
Type a name like "144Hz AOC Monitor" or "Zowie EC2 1000Hz". This label is saved with your result so you can identify it in rankings and compare across devices.
STEP 4 β CLICK A TARGET Hz BAND
Select your expected Hz (e.g. 144) from the quick-select bands. This sets the ring's target fill and the dashed reference line on the chart. Ring turns green at target, red when below.
STEP 5 β START THE TEST
Press βΆ START TEST or hit Space. The ring fills, Hz counter updates live, the chart scrolls in real time. Test auto-stops at your set duration.
STEP 6 β READ YOUR RESULTS
Key stats: Avg Hz (main result), Stability % (consistency), 1% Low (worst-case drops), Jitter Ο (timing variance). See the Metrics tab for full formulas.
STEP 7 β SAVE & COMPARE
Click πΎ Save to Rankings or press S. Open KEYWORD RANKINGS to compare all saved tests. Export CSV/JSON via Settings β Data.
KEYBOARD SHORTCUTS
| KEY | ACTION | NOTES |
|---|---|---|
| Space | Start / Stop test | Disabled when input field focused |
| R | Reset & clear samples | Only when not testing |
| S | Save to rankings | Requires completed test |
β οΈ Shortcuts can be toggled in Settings β Behavior. Disabled when focus is in a text field.
ACCURACY TIPS
β
Monitor Hz: Use 3β5 second duration. Close other tabs and GPU-heavy apps. Confirm OS display setting matches your monitor's rated Hz: Windows β Display Settings β Advanced Display β Refresh Rate.
β
Mouse Polling: Use 5β10 seconds. Move mouse rapidly and continuously β a stationary mouse fires zero events. Use a rear motherboard USB port, not a hub or front panel.
β
Keyboard Polling: Hold a key continuously for the full test. OS key-repeat throttling can cap readings at short durations β use 5β10s for accuracy.
β οΈ Β±1β2 Hz variance is always normal β OS scheduling, browser vsync pacing, and background tasks all affect readings. A 144 Hz monitor showing 143 Hz is a perfect result.
UNDERSTANDING THE RING
The animated ring fills from 0β100% as your detected Hz approaches the target.
β Green β at or above target (β₯97%)
β Cyan β close to target (90β96%)
β Red β significantly below target (<90%)
Toggle ring visibility and thickness in Settings β Display.
β Green β at or above target (β₯97%)
β Cyan β close to target (90β96%)
β Red β significantly below target (<90%)
Toggle ring visibility and thickness in Settings β Display.
UNDERSTANDING THE CHART
The live scrolling chart shows your last 10β100 Hz samples (configurable in Settings β Display β Chart History). The dashed horizontal line is your target Hz.
Line mode β best for spotting trends and gradual drift
Bar mode β best for seeing individual sample spikes
Dot mode β best for seeing clustering and outliers
Change chart style in Settings β Display β Chart Style.
Line mode β best for spotting trends and gradual drift
Bar mode β best for seeing individual sample spikes
Dot mode β best for seeing clustering and outliers
Change chart style in Settings β Display β Chart Style.
SETTINGS QUICK GUIDE
| SETTING | WHERE | RECOMMENDED |
|---|---|---|
| Test Duration | Settings β Test | 3s monitor / 5β10s polling |
| Sample Rate | Settings β Test | 100ms for smooth chart |
| Outlier Filter | Settings β Test | 2Ο for cleaner averages |
| Chart History | Settings β Display | 20β50 samples |
| Warmup Discard | Settings β Test | 3 samples (skip cold start) |
| Accent Color | Settings β About | Cyan (dark) / Blue (light) |
DISPLAY VISUAL TESTER β ALL 7 TESTS EXPLAINED
πΈ UFO TEST β Refresh Rate Visual
Multiple UFO lanes each run at a halved framerate: 60 β 30 β 15 β 7.5 β 3.75 fpsβ¦ All travel at identical px/s so the speed is fair β only the update rate differs.
What to look for: On a 60 Hz display the top lane is the smoothest possible. On 144 Hz it runs noticeably smoother. Lower lanes show increasingly jerky "jumps" between positions β this is exactly what low fps feels like.
Controls: Pick 1β10 objects (or custom) β each adds a new fps tier. Speed multiplier and motion trail let you tune clarity. Use Pause to freeze a frame for comparison.
What to look for: On a 60 Hz display the top lane is the smoothest possible. On 144 Hz it runs noticeably smoother. Lower lanes show increasingly jerky "jumps" between positions β this is exactly what low fps feels like.
Controls: Pick 1β10 objects (or custom) β each adds a new fps tier. Speed multiplier and motion trail let you tune clarity. Use Pause to freeze a frame for comparison.
Lane N fps = 60 Γ· 2^(Nβ1)
ποΈ FPS vs FPS β Framerate Compare
2β4 side-by-side panels each throttled to a different target fps (30 / 60 / 144 / 240) via RAF timing. Three scene types: Ball, Scroll Text, Checker Grid.
Key insight: On a 60 Hz monitor the 144fps and 240fps panels look identical to 60fps β your display is the bottleneck, not the frame generation rate. This is why GPU fps above your monitor's Hz gives no visual benefit.
Use case: Show exactly why monitor Hz matters more than GPU fps for perceived smoothness.
Key insight: On a 60 Hz monitor the 144fps and 240fps panels look identical to 60fps β your display is the bottleneck, not the frame generation rate. This is why GPU fps above your monitor's Hz gives no visual benefit.
Use case: Show exactly why monitor Hz matters more than GPU fps for perceived smoothness.
Displayed fps = min(target_fps, display_Hz)
β‘ Hz vs Hz β Multi-Rate Side View
Three panels capped at different Hz (presets: 60/144/240, 60/120/165, 144/240/360, 240/360/480). A moving bar only updates its position when a display frame fires for that Hz tier.
What to look for: Count distinct positions per second β higher Hz = more unique positions = smoother motion. On a 60 Hz screen all three panels are capped at 60 regardless of their target.
Use case: Direct side-by-side proof of how many unique positions per second each refresh rate delivers.
What to look for: Count distinct positions per second β higher Hz = more unique positions = smoother motion. On a 60 Hz screen all three panels are capped at 60 regardless of their target.
Use case: Direct side-by-side proof of how many unique positions per second each refresh rate delivers.
Positions/sec = min(cap_Hz, display_Hz)
π¨ MOTION BLUR β Pixel Response
Objects move at fixed px/s. The trail/smear you see comes from your monitor's pixel response time (GtG) combined with refresh rate.
Key fact: Higher Hz alone doesn't fully eliminate motion blur β fast GtG (<1ms) is equally important. IPS panels show more corona/trailing than TN at the same Hz. OLED is near-0ms.
Scenes: Text (hardest to read in motion), Bar (edge smearing), Dot (radial blur expansion). Enable ULMB/DyAc on your monitor then compare directly.
Key fact: Higher Hz alone doesn't fully eliminate motion blur β fast GtG (<1ms) is equally important. IPS panels show more corona/trailing than TN at the same Hz. OLED is near-0ms.
Scenes: Text (hardest to read in motion), Bar (edge smearing), Dot (radial blur expansion). Enable ULMB/DyAc on your monitor then compare directly.
Blur px β speed Γ GtG_ms Γ· 1000
πΊ JUDDER β 3:2 Pulldown
Simulates how film content (24fps) is displayed. When display_Hz Γ· content_fps isn't an integer, frames repeat unevenly β creating visible judder.
24fps @ 60Hz: 3:2 pulldown β alternating 3-frame and 2-frame holds. Classic film "judder" / soap-opera effect. The cadence bar at the bottom shows the uneven pattern.
24fps @ 120Hz: Every frame held exactly 5Γ β perfect cadence, zero judder. This is why 120Hz TVs reproduce cinema naturally.
Use case: Understand why your TV's panning shots look wrong, and the value of 120Hz for streaming.
24fps @ 60Hz: 3:2 pulldown β alternating 3-frame and 2-frame holds. Classic film "judder" / soap-opera effect. The cadence bar at the bottom shows the uneven pattern.
24fps @ 120Hz: Every frame held exactly 5Γ β perfect cadence, zero judder. This is why 120Hz TVs reproduce cinema naturally.
Use case: Understand why your TV's panning shots look wrong, and the value of 120Hz for streaming.
Clean cadence if: display_Hz Γ· content_fps = integer
π‘ PWM FLICKER β Backlight Test
Simulates Pulse Width Modulation backlight dimming. Many monitors control brightness by rapidly switching the backlight on/off. At low brightness + low PWM frequency this can cause eye strain, headaches, and fatigue.
Frequency: 60β240 Hz PWM is potentially problematic. β₯1000 Hz is generally imperceptible. High-end monitors use DC dimming (no PWM) to avoid this entirely.
Duty cycle: Lower duty % = backlight off more of each cycle = more perceived flicker at low frequencies.
β οΈ This is a software simulation β your monitor's physical PWM operates independently.
Frequency: 60β240 Hz PWM is potentially problematic. β₯1000 Hz is generally imperceptible. High-end monitors use DC dimming (no PWM) to avoid this entirely.
Duty cycle: Lower duty % = backlight off more of each cycle = more perceived flicker at low frequencies.
β οΈ This is a software simulation β your monitor's physical PWM operates independently.
Flicker period = 1000 Γ· PWM_Hz ms
π BENCHMARK β Frame Timing
Measures real browser canvas rendering performance via RAF frame-time sampling. Three load levels:
Light β minimal draw calls, clean baseline. Medium β ~120 circles/frame. Heavy β ~400 circles/frame, simulates a demanding scene.
Frame graph: Each bar = one frame's ms. Green = β€16.67ms (60fps met), Yellow = 16β33ms, Red = >33ms. 1% Low FPS is the key metric β spikes here cause stutter even when average is high.
Light β minimal draw calls, clean baseline. Medium β ~120 circles/frame. Heavy β ~400 circles/frame, simulates a demanding scene.
Frame graph: Each bar = one frame's ms. Green = β€16.67ms (60fps met), Yellow = 16β33ms, Red = >33ms. 1% Low FPS is the key metric β spikes here cause stutter even when average is high.
Target frame time = 1000 Γ· display_Hz ms
WHICH TEST SHOULD I USE?
| GOAL | BEST TEST | KEY INDICATOR |
|---|---|---|
| Visually confirm my monitor's real refresh rate | πΈ UFO Test | Top lane smoothness vs lower lanes |
| Check if high GPU fps actually helps on my display | ποΈ FPS vs FPS | Do 144fps and 60fps panels differ? |
| See the real difference between 60/144/240 Hz | β‘ Hz vs Hz | Distinct position count per second |
| Evaluate my panel's motion clarity / ghosting | π¨ Motion Blur | Trailing smear on text/dot at speed |
| Understand why film looks juddery on my TV | πΊ Judder | Uneven cadence bar = judder present |
| Assess eye strain risk from my monitor's dimming | π‘ PWM Flicker | Sensitivity at low duty + low frequency |
| Measure browser rendering performance | π Benchmark | 1% Low FPS and spike frequency |
REFRESH RATE REFERENCE
| HZ | FRAME TIME | TIER | TYPICAL USE |
|---|---|---|---|
| 24 Hz | 41.67 ms | Cinematic | Film standard, broadcast TV |
| 30 Hz | 33.33 ms | Low | Older consoles, security cams |
| 48 Hz | 20.83 ms | HFR Film | HFR cinema, some streaming |
| 60 Hz | 16.67 ms | Standard | Office work, casual gaming, PS4 |
| 75 Hz | 13.33 ms | Entry Gaming | Budget IPS panels |
| 120 Hz | 8.33 ms | High | PS5 / Xbox Series X / iPad Pro |
| 144 Hz | 6.94 ms | Gaming | PC competitive standard |
| 165 Hz | 6.06 ms | Gaming | Mid-high IPS gaming panels |
| 180 Hz | 5.56 ms | Gaming | High-end IPS, 2023β24 popular tier |
| 240 Hz | 4.17 ms | Pro Gaming | Esports standard, TN/IPS/OLED |
| 360 Hz | 2.78 ms | Pro Esports | ASUS ROG Swift 360, Alienware |
| 480 Hz | 2.08 ms | Ultra | ASUS ROG Swift Pro PG248QP |
| 500 Hz | 2.00 ms | Ultra | Alienware AW2524H, top esports |
PANEL TECHNOLOGY COMPARISON
| TYPE | RESPONSE | MAX HZ | BEST FOR |
|---|---|---|---|
| TN | 0.5β1 ms | 500 Hz | Max Hz, ultra-competitive FPS |
| IPS | 1β4 ms | 360 Hz | Color accuracy + gaming balance |
| VA | 4β8 ms | 240 Hz | High contrast, movies, mixed use |
| OLED | <0.1 ms | 480 Hz | Best motion + HDR, premium |
| Mini-LED | 1β2 ms | 240 Hz | Bright HDR + good gaming |
CABLE & PORT BANDWIDTH LIMITS
| CONNECTION | 1080p MAX | 1440p MAX | 4K MAX |
|---|---|---|---|
| HDMI 1.4 | 144 Hz | 75 Hz | 30 Hz |
| HDMI 2.0 | 240 Hz | 144 Hz | 60 Hz |
| HDMI 2.1 | 480+ Hz | 240 Hz | 144 Hz |
| DisplayPort 1.2 | 240 Hz | 165 Hz | 60 Hz |
| DisplayPort 1.4 | 360+ Hz | 240 Hz | 120 Hz |
| DisplayPort 2.1 | 500+ Hz | 500+ Hz | 240 Hz |
| USB-C (DP Alt) | Same as DP version supported by device | ||
β οΈ Most common issue: Monitor shows 60Hz when it should be 144+. Check cable first β HDMI 1.4 physically cannot carry 144Hz at 1440p. Replace with DisplayPort 1.4 or HDMI 2.0+ cable.
ADAPTIVE SYNC TECHNOLOGIES
π’ G-SYNC (NVIDIA)
Hardware Module
Dedicated FPGA in monitor. Matches refresh exactly to GPU output 1β360 Hz. Zero tearing, no stutter, ~$100 premium. Requires NVIDIA GPU.
π΅ G-SYNC Compatible
VESA Certified
FreeSync monitors validated by NVIDIA. No hardware module β uses Adaptive Sync. Works with NVIDIA RTX/GTX 10+ via DisplayPort.
π΄ FreeSync (AMD)
VESA Adaptive Sync
Open standard, no license fee. Three tiers: FreeSync / Premium / Premium Pro. Works over HDMI and DisplayPort on AMD and NVIDIA GPUs.
β‘ VRR (HDMI 2.1)
Console VRR
Variable Refresh Rate for TVs. PS5 and Xbox Series X both support VRR. Typical range 48β120 Hz. Required for proper 120fps next-gen gaming.
MONITOR OVERCLOCKING
Many monitors run above rated Hz via custom GPU resolution. Common results:
60 β 75 Hz: Works on most IPS/VA, usually stable.
144 β 165 Hz: Common on quality panels β verify with UFO Test.
Windows (NVIDIA): NVIDIA Control Panel β Change Resolution β Customize β Create Custom Resolution β set Hz.
Windows (AMD): Radeon Software β Display β Custom Resolutions.
β οΈ If you see flickering or black screens, the OC is unstable β revert to rated Hz.
60 β 75 Hz: Works on most IPS/VA, usually stable.
144 β 165 Hz: Common on quality panels β verify with UFO Test.
Windows (NVIDIA): NVIDIA Control Panel β Change Resolution β Customize β Create Custom Resolution β set Hz.
Windows (AMD): Radeon Software β Display β Custom Resolutions.
β οΈ If you see flickering or black screens, the OC is unstable β revert to rated Hz.
MOUSE POLLING RATE REFERENCE
| HZ | INTERVAL | LATENCY ADDED | TIER |
|---|---|---|---|
| 125 Hz | 8.0 ms | +8.0 ms | Budget / office mice |
| 250 Hz | 4.0 ms | +4.0 ms | Low-end gaming |
| 500 Hz | 2.0 ms | +2.0 ms | Standard gaming default |
| 1000 Hz | 1.0 ms | +1.0 ms | Gaming standard β all pro peripherals |
| 2000 Hz | 0.5 ms | +0.5 ms | High-end β Logitech Lightspeed 2 |
| 4000 Hz | 0.25 ms | +0.25 ms | Flagship β Razer, SteelSeries, ASUS ROG |
| 8000 Hz | 0.125 ms | +0.125 ms | HyperPolling β Razer DeathAdder V3 |
β οΈ 4000β8000 Hz requires dedicated high-polling USB driver mode. Significantly increases USB interrupt load β some systems show CPU spikes or USB audio crackling. Test stability after enabling.
HOW TO CHANGE MOUSE POLLING RATE
π±οΈ Razer: Razer Synapse β Mouse β Performance β Polling Rate
π±οΈ Logitech: G HUB β Device β DPI Settings β Report Rate
π±οΈ SteelSeries: GG App β Your Mouse β Polling Rate
π±οΈ Zowie: Bottom button β cycles 125/500/1000 Hz (no software)
π±οΈ Razer HyperPolling: HyperPolling Wireless Dongle required β rear USB 3.0 port
After changing, re-run this tool to verify the new rate is active.
π±οΈ Logitech: G HUB β Device β DPI Settings β Report Rate
π±οΈ SteelSeries: GG App β Your Mouse β Polling Rate
π±οΈ Zowie: Bottom button β cycles 125/500/1000 Hz (no software)
π±οΈ Razer HyperPolling: HyperPolling Wireless Dongle required β rear USB 3.0 port
After changing, re-run this tool to verify the new rate is active.
TROUBLESHOOTING POLLING
| SYMPTOM | LIKELY CAUSE | FIX |
|---|---|---|
| Mouse shows 500Hz, set to 1000 | USB hub / wrong port | Use rear motherboard port directly |
| Mouse shows 125Hz | Software not configured | Open companion app, set to 1000Hz |
| Keyboard far below 1000Hz | OS key-repeat throttle | Hold key; use 5β10s duration |
| Reading fluctuates wildly | CPU load / USB interrupt | Close background apps; try different USB port |
| Wireless lower than wired | Bluetooth vs 2.4GHz | Ensure you're using 2.4GHz dongle mode |
KEYBOARD POLLING REFERENCE
| HZ | INTERVAL | KEYBOARD TYPE |
|---|---|---|
| 125 Hz | 8 ms | Membrane, budget wired |
| 250 Hz | 4 ms | Mid-range mechanical, some wireless |
| 1000 Hz | 1 ms | All gaming mechanicals β standard since 2015 |
| 2000 Hz | 0.5 ms | Wooting, SteelSeries Apex Pro |
| 4000 Hz | 0.25 ms | Wooting 60HE / 80HE, SteelSeries Apex 9 |
| 8000 Hz | 0.125 ms | Wooting 8K mode, Razer Huntsman V3 Pro |
NOTABLE DEVICES (2024β25)
π±οΈ Razer DeathAdder V3 HyperSpeed
8000 Hz
HyperPolling Wireless dongle required. Focus Pro 35K DPI. 0.125ms interval. 90hr battery.
π±οΈ Logitech G Pro X Superlight 2 DEX
2000 Hz
HERO 2 sensor, 32K DPI, 2000Hz via Lightspeed 2. 44g. CS2 / Valorant pro standard.
π±οΈ Zowie EC2-CW
1000 Hz
Wireless, 3200 DPI, consistent 1000Hz. No software required. CS2 pro scene favourite.
β¨οΈ Wooting 60HE+
8000 Hz
Hall-effect switches, 8000Hz polling, analog WASD, Rapid Trigger, 0.1β4.0mm actuation.
β¨οΈ Razer Huntsman V3 Pro
8000 Hz
Analog optical switches, 8000Hz, per-key actuation tuning. Full-size with numpad.
π±οΈ SteelSeries Aerox 9 Wireless
1000 Hz
TrueMove Air sensor, 18K DPI, 89g honeycomb shell. 2.4GHz wireless. 9 side buttons.
ALL MEASUREMENT METRICS β WHAT EACH NUMBER MEANS
AVG HZ β Average
The mean of all samples. Your primary result β compare directly to rated Hz. A 144Hz monitor should show 143β145 Hz average. This is the most reliable single number.
Ξ£(all samples) Γ· sample_count
MAX HZ β Peak
Highest single sample recorded. Brief peaks above rated Hz are normal. A consistently high Max with a low Avg suggests measurement noise rather than real performance headroom.
max(samples[])
MIN HZ β Floor
Lowest single sample. One-off dips are normal (OS interrupts). If Min is consistently far below Avg (below ~80% of Avg), there's a real stability issue β check USB port and CPU load.
min(samples[])
STABILITY % β Consistency
How consistent samples are over time. Based on standard deviation. 100% = perfectly even. For gaming: 99%+ is excellent; below 90% is perceptible stutter territory.
(1 β Ο Γ· avg) Γ 100
1% LOW β Worst-Case
Average of the bottom 1% of all samples. Borrowed from GPU frame-time analysis. Low 1% Low values cause visible stutter even when average looks healthy. Critical for competitive use.
avg(bottom 1% of samples[])
JITTER Ο β Timing Variance
Standard deviation of all samples. Directly measures frame-time irregularity. Low jitter = even spacing = smooth motion. High jitter = irregular pacing = stutter even at good average.
β( Ξ£(x β avg)Β² Γ· n )
SAMPLES β Count
Total measurement buckets collected. More = more reliable. At 100ms resolution: 1s β 10 samples (weak), 5s β 50 (good), 10s β 100 (excellent). Use longer tests for polling measurements.
floor(duration_ms Γ· sampleRate_ms)
FRAME TIME β ms
Reciprocal of Hz β milliseconds between each frame or report. Lower is always better. 144 Hz = 6.94ms. Core metric for understanding total input latency budget.
1000 Γ· Hz = ms
STABILITY RATING GUIDE
| STABILITY % | RATING | PERCEIVED EFFECT | COMMON CAUSE |
|---|---|---|---|
| 99β100% | EXCELLENT | Imperceptibly smooth, no variance | Clean system, no USB contention |
| 96β98% | GOOD | Very smooth, rare minor hitches | Light background activity |
| 90β95% | FAIR | Occasional noticeable stutter | CPU load, shared USB controller |
| 80β89% | POOR | Frequent hitches, clearly broken | Driver issue, USB power management |
| <80% | CRITICAL | Unusable, hardware or driver fault | Failing hardware, wrong USB mode |
GLOSSARY
Refresh Rate (Hz)
How many times/sec the monitor redraws the screen. Determined by panel hardware, GPU output, and cable bandwidth. Higher = smoother motion.
Polling Rate (Hz)
How often a mouse/keyboard sends its state to the PC per second. Higher = lower input latency = more precise tracking.
Frame Time (ms)
Milliseconds between consecutive frames. 60Hz = 16.67ms, 144Hz = 6.94ms, 240Hz = 4.17ms. Inconsistent frame times cause microstutter at any average fps.
GtG Response (ms)
Gray-to-Gray pixel transition time. Determines motion clarity independent of Hz. <1ms (TN/OLED) is excellent. 4+ ms (VA) shows visible ghosting blur.
VSync
Caps GPU output to display refresh rate, eliminating tearing. Adds up to 1 frame input latency. Superseded by G-Sync/FreeSync for gaming use.
Microstutter
Irregular frame pacing causing choppiness even at high average fps/Hz. Caused by uneven frame delivery. Jitter Ο directly measures this.
PWM (Pulse Width Modulation)
Backlight dimming by rapid on/off switching. Low-frequency PWM (60β480Hz) can cause eye strain. DC dimming (no PWM) is preferred for sensitive users.
Input Lag (ms)
Total delay from physical action to visible result. Sum of: polling interval + USB processing + GPU render time + display panel lag.
Judder
Uneven cadence when film (24fps) is shown at a non-integer-multiple refresh rate (60Hz). Requires 3:2 pulldown β creates a rhythmic stutter in panning shots.
Adaptive Sync (VRR)
Monitor adjusts refresh rate dynamically to match GPU output. Eliminates both tearing and VSync latency. Implementations: G-Sync, FreeSync, HDMI VRR.
1% Low
Average of the worst 1% of frames/samples. Better than minimum β outliers don't distort it. Critical for competitive play where single drops are felt.
Rapid Trigger
Keyboard feature (Wooting etc.) that re-triggers keypresses on any downward movement, not a fixed point. Requires 4000β8000Hz polling for accurate detection of tiny movements.
TOOL USAGE FAQ
Why is Hz Measurement hidden by default?βΈ
The Visual Tester is the primary experience β it lets you instantly see your display's performance without any setup. Hz Measurement is for specific diagnostic use. Click the β‘ HZ MEASUREMENT bar to expand it at any time.
What does "5 objects" in the UFO test show?βΈ
Five lanes running at 60, 30, 15, 7.5, and 3.75 fps respectively β all travelling at the same px/s speed. The visual difference between lanes directly shows you what each framerate looks like on your display. On a 60Hz screen the top row is as smooth as your display can render; each row below is progressively more "jumpy".
The FPS vs FPS panels all look identical. Is it broken?βΈ
Not broken β this is the point. On a 60Hz display, 60fps, 144fps, and 240fps all look identical because your monitor is the bottleneck. The test is proving that your GPU can't visually deliver higher framerates than your Hz cap. The solution is a higher refresh rate monitor, not more GPU power.
How do I get the most reliable Hz Measurement result?βΈ
For monitor: use 3β5 second duration, close heavy background apps, ensure your OS display setting matches your monitor's rated Hz. For mouse: move rapidly and continuously for 5β10 seconds on a rear USB port. For keyboard: hold a key for the full 5β10 second duration. Enable outlier filter (2Ο) in Settings β Test for cleaner averages.
What's the best way to use the Rankings?βΈ
Label each test meaningfully β e.g. "500Hz USB Hub" vs "500Hz Direct Port" to compare USB port quality. Or "Mouse 1000Hz" vs "Mouse 4000Hz". Sort by Stability % to quickly see which config is most consistent. Export to CSV from Settings β Data for spreadsheet analysis.
MONITOR FAQ
My 144Hz monitor shows 143Hz. Is it broken?βΈ
Not at all β this is completely normal. OS scheduling, browser RAF pacing, and background tasks all introduce Β±1β2Hz variance. A reading of 142β146Hz on a 144Hz monitor is a perfect result. Only worry if it's consistently showing 60Hz or below.
My 240Hz monitor only shows 60Hz in the tool. Why?βΈ
Check in this order: (1) Windows display settings β right-click desktop β Display Settings β Advanced Display β set refresh rate to 240Hz. (2) Cable β HDMI 1.4 caps at 144Hz at 1080p and 75Hz at 1440p. Use DisplayPort 1.4 or HDMI 2.0+. (3) Some laptop GPU ports β the HDMI port may connect to the iGPU which doesn't support high Hz; use the USB-C/DisplayPort output instead.
Does higher Hz actually improve gaming performance?βΈ
Yes, with diminishing returns. 60β144Hz is massive β nearly everyone notices immediately and it measurably improves reaction time and target tracking. 144β240Hz is clearly better for fast FPS. 240β360Hz is noticeable in direct comparison. Above 360Hz gains become theoretical for most players. For competitive FPS (CS2, Valorant, Apex): 240Hz is the current sweet spot.
Should I use VSync with G-Sync/FreeSync enabled?βΈ
No β when VRR is active, traditional VSync should be off. VRR already prevents tearing dynamically. Adding VSync re-introduces the latency penalty that VRR was designed to eliminate. In-game: VSync off; let the GPU driver and monitor handle sync via G-Sync or FreeSync.
POLLING RATE FAQ
Does 4000Hz polling really improve aim over 1000Hz?βΈ
At 1000Hz you get 1ms polling latency β already below human reaction time perception. The benefit of 4000β8000Hz is primarily cursor tracking precision at very high eDPI where micro-movements between 1ms samples can be missed. Most pro players consciously choose 1000Hz. The performance gain above 1000Hz is marginal for the vast majority of players.
This tool shows lower polling than my mouse spec. Is it wrong?βΈ
Browsers coalesce (batch) input events to reduce overhead β multiple hardware reports within a short window may fire as a single event. This is most significant at 4000+ Hz. The browser event loop cannot fire at 8000Hz. For true hardware polling verification at extreme rates, use MouseTester (Windows, reads raw HID data). This tool is accurate for 125β2000Hz; above that results should be treated as approximate.
My wireless mouse shows lower polling than wired. Normal?βΈ
Only if using Bluetooth β Bluetooth HID caps at 125Hz. Modern 2.4GHz gaming wireless (Logitech Lightspeed, Razer HyperSpeed, SteelSeries Quantum 2.0) achieves identical latency to wired at 1000Hz. Confirm you're using the 2.4GHz USB dongle, not Bluetooth mode.
High polling is causing stutters in games. How do I fix it?βΈ
Very high polling (4000β8000Hz) generates heavy USB interrupt load. Solutions: (1) Move mouse to a port on a different USB host controller. (2) Add a PCIe USB expansion card β dedicated controller with no shared bandwidth. (3) Drop to 2000Hz β typically provides all the tracking benefit without the interrupt overhead that causes stutter.
What is Rapid Trigger and why does it need high polling?βΈ
Rapid Trigger (Wooting, Razer Huntsman V3 Pro, others) re-triggers a keypress on any downward key movement rather than a fixed actuation point β re-activating after as little as 0.1mm of travel. This requires 4000β8000Hz so the controller can detect tiny movements between reports. At 1000Hz (1ms), a fast finger movement could move past the detection window entirely before the next poll.
Do I need to restart Windows after changing polling rate?βΈ
No for most changes via companion software β changes take effect immediately. Replug the device and re-run this tool to verify. Some 4000/8000Hz ultra-polling modes may require the dongle to be physically replugged to reinitialise the USB descriptor. Keyboard firmware rate changes take effect after next USB reconnect.