User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Category Tests
Double-Click Here or press Enter / Space
Last Double-Click Interval
--- ms
๐Ÿ“Š 0 Attempts
โšก --- Fastest
๐Ÿข --- Slowest
๐Ÿ“ˆ --- Average
๐Ÿ“ --- Median
๐Ÿ“ --- Std Dev
Performance Graph Fast Threshold Slow
Complete double-clicks to see your performance graph
History
No double-clicks recorded yet
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

A double-click interval is the time delta between two successive mouse button presses. Operating systems define a threshold (typically 400 - 500ms) within which two clicks register as a single double-click event. Exceeding this window means two separate single-clicks. This tool measures your actual interval using performance.now(), which provides sub-millisecond precision (resolution ~5ยตs). Inconsistent double-click speeds indicate motor control variability or hardware latency. Gamers, accessibility testers, and UI developers use these measurements to calibrate input devices, diagnose hardware issues, or adjust system settings. Note: wireless mice add 1 - 8ms latency; polling rate affects granularity.

double-click click speed mouse test reaction time CPS test input test

Formulas

The double-click interval ฮ”t is calculated as:

ฮ”t = t2 โˆ’ t1

where t1 is the timestamp of the first click and t2 is the timestamp of the second click, both measured via the Performance API in milliseconds.

Statistical measures computed from a set of n intervals:

Mean: x = 1n nโˆ‘i=1 xi

Standard Deviation: ฯƒ = โˆšnโˆ‘i=1(xi โˆ’ x)2n

Median: The middle value when all intervals are sorted. For even n, average of two central values.

A double-click is valid when ฮ”t โ‰ค Tthreshold, where Tthreshold is the system-configured maximum interval (default 500ms).

Reference Data

Operating SystemDefault ThresholdRegistry/Config KeyAdjustable Range
Windows 11/10500msHKCU\Control Panel\Mouse\DoubleClickSpeed100 - 900ms
Windows 7/8500msHKCU\Control Panel\Mouse\DoubleClickSpeed100 - 900ms
macOS Ventura500msdefaults read NSGlobalDomain com.apple.mouse.doubleClickThreshold150 - 1500ms
macOS Monterey500msSystem Preferences โ†’ Accessibility โ†’ Pointer Control150 - 1500ms
Ubuntu 22.04 (GNOME)400msorg.gnome.settings-daemon.peripherals.mouse double-click100 - 1000ms
Linux (KDE Plasma)400ms~/.config/kcminputrc DoubleClickInterval100 - 2000ms
ChromeOS500msNot user-configurableFixed
Android300msViewConfiguration.getDoubleTapTimeout()App-dependent
iOS/iPadOS300msSettings โ†’ Accessibility โ†’ Touch100 - 500ms
X11 Default250msxset m0 - โˆžms
Professional Gaming Mice50 - 100msDriver softwareVaries
Accessibility Mode (General)800 - 1500msOS Accessibility SettingsExtended range

Frequently Asked Questions

Browser event loop latency adds 1-4ms overhead. Additionally, your OS may debounce rapid clicks or apply accessibility filters. Hardware polling rate (125Hz = 8ms resolution, 1000Hz = 1ms resolution) also affects precision. This tool measures the JavaScript event timestamps, which closely approximate but don't perfectly mirror kernel-level input handling.
Competitive gamers typically achieve intervals of 80-150ms consistently. Professional players with trained muscle memory can sustain sub-100ms intervals. However, faster isn't always better - consistency (low standard deviation) matters more than raw speed. A ฯƒ under 30ms indicates excellent motor control.
On Windows: Control Panel โ†’ Mouse โ†’ Buttons โ†’ Double-click speed slider. On macOS: System Settings โ†’ Accessibility โ†’ Pointer Control โ†’ Double-click speed. On Linux GNOME: Settings โ†’ Accessibility โ†’ Clicking. Registry/config values are listed in the reference table above. Lower thresholds require faster clicks; higher thresholds are more forgiving for accessibility needs.
Common causes: (1) Muscle fatigue after many attempts, (2) Worn mouse switches with contact bounce, (3) Wireless interference adding variable latency, (4) Cold fingers reducing dexterity, (5) Incorrect finger positioning. Try resting your hand, testing with a wired mouse, or warming up with slow deliberate clicks before speed testing.
Minimally. performance.now() operates independently of vsync and provides microsecond resolution. However, visual feedback (ripple animations) is tied to requestAnimationFrame, which syncs to your monitor's refresh rate (typically 60Hz = 16.67ms frames). The measured interval values remain accurate regardless of display timing.