Gamepad Tester: Check Stick Drift, Triggers, Buttons & Rumble
Full controller diagnostic: buttons, stick drift, triggers, rumble, health certificate.
Gamepad Tester reads a connected controller through the browser's standard Gamepad API, polling it every animation frame rather than at the controller's actual hardware report rate, and runs that stream through dedicated stick, trigger, button, and rumble checks. It can tell you a stick's resting drift is measurable and a trigger's signal froze mid-pull; it cannot certify a controller as defect-free, only flag patterns that look wrong in what the browser reported.
Polling tied to your display, not the controller's own clock
The Gamepad API has no push events for stick or trigger movement, so this tool reads controller state once per animation frame, which runs at your display's refresh rate, and buttons, axes, and timestamps are read from whatever the browser's own gamepad list returns at that instant. That is a meaningfully different clock from the controller's actual internal report rate, so this test cannot stand in for a true hardware-level polling measurement the way a wired-mouse test attempts.
The button map always names the first seventeen button slots using the W3C standard gamepad layout — face buttons, bumpers, triggers, stick clicks, the D-pad, Back and Start, and Home — the order the W3C Gamepad specification defines. The page does not check which mapping the browser declared, and any buttons past those seventeen are not drawn; they only surface by number if one is flagged as stuck.
How to test a gamepad for stick drift, trigger faults and rumble
- Connect the controller over USB or Bluetooth, open this page, then press any button or nudge a stick — browsers only hand a gamepad to a page after that first input.
- Under Analog stick drift & circularity, click Start for the left stick, roll it slowly around its outer edge a few times, then let go so it rests at center before the eight-second window ends; repeat for the right stick.
- Under Trigger hesitation, click Start for LT/L2, squeeze the trigger slowly all the way in and let it out within four seconds, then do the same for RT/R2.
- Press every button once and watch the button map; a tile that stays lit for four seconds or longer is marked as possibly stuck.
- Run the rumble pattern with this tab in front, then download the CSV log or the diagnostic certificate PNG if you want a record of the results.
What the eight-second stick test is actually measuring
Moving a stick fully around its range for the test's eight-second window records up to sixteen thousand x and y samples. Circularity compares the outer band of those samples, anything past half the observed maximum radius, against their own average distance from center; a perfectly round stick's outer samples cluster tightly around one distance, while a worn or damaged one wanders further from that average.
Resting drift only gets reported from samples where the stick was genuinely near center, inside an eight percent radius, at some point during the test; if it never settled there, the result explicitly reads as not measured rather than guessing from an in-motion sample, which would misrepresent the drift reading either way.
Three different ways a trigger's signal can lie
Pulling a trigger for the four-second trigger test checks three separate anomaly patterns rather than one blanket flag: a non-monotonic pull where the value drops while the overall trend is climbing, a signal plateau where the value freezes for over one hundred fifty milliseconds mid-travel instead of continuing to change, and idle jitter where a resting value wanders with real variance instead of holding at a clean baseline.
The jitter check separates a slow, deliberate pull from actual electrical noise by checking whether consecutive samples mostly move one direction, a ramp, rather than wandering back and forth; a careful slow pull that drifts gradually is not flagged the way genuine sensor noise is.
Stuck buttons and rumble, in one pass
- Any button held continuously for four seconds or longer gets flagged as possibly stuck, since a normal press-and-release rhythm rarely holds that long by accident.
- Rumble runs a two-stage pattern through the browser's haptic actuator support if the controller exposes one, a short pulse followed by a longer, stronger one, and reports an error if the browser or controller does not support playing it rather than silently doing nothing.
What browser polling cannot tell you
- This test cannot measure wireless dongle latency, Bluetooth connection quality, or a controller's real internal report rate, only what state the Gamepad API exposed on each animation frame.
- Haptic actuator support is not implemented consistently across browsers and controllers, so a failed rumble test can mean the browser lacks support, not that the controller's motors are broken.
- A flagged stick, trigger, or button points at a symptom pattern in the recorded data, not a diagnosis of which physical component, a worn potentiometer, a dirty contact, a firmware quirk, is responsible.
- Results depend on how the test was performed; a stick test cut short, or a trigger pulled too quickly to sample properly, can under-report real anomalies.
Which controllers get named buttons in the gamepad tester
- Button names follow the W3C standard gamepad mapping; whether a controller's buttons actually arrive in that order is decided by your browser and operating system, and this page ships no per-brand drivers or profiles.
- When a DualSense, DualShock 4, Xbox, Switch Pro, 8BitDo or generic USB pad arrives in standard order, its face buttons, bumpers, triggers, stick clicks, D-pad, Start/Select and Home key each light the matching tile.
- Labels describe positions using Xbox and PlayStation names, so on a Nintendo-style pad the bottom face button lights up as A / Cross even though it is printed B.
- A pad the browser does not map to the standard layout still gets the same seventeen names applied to its raw button slots, so a lit tile may not match the printed button, and the stick and trigger panels may read the wrong axes.
- Rumble only works where the browser exposes a vibration actuator for the connected pad; if it does not, the rumble panel says so instead of showing the run button.
Gamepad not detected by the browser
- Press a face button or move a stick after the page has loaded; until then the page shows a prompt to connect a controller.
- A message that gamepad access is blocked by browser policy means a site setting or managed-browser policy is refusing access; allow it in your browser settings or open the page in another browser.
- If the page reports that the Gamepad API is not supported, that browser cannot be used for this test; a current Chrome, Edge or Firefox is the usual fix.
- Quit apps that can take over or remap the controller, such as Steam, DS4Windows or a vendor utility, then unplug the pad and connect it again.
- For a Bluetooth pad, remove and re-pair it in your system settings, or try a USB cable to rule out the wireless link.
Controller readings stay in this browser tab
Stick positions, trigger values and button presses are analyzed inside the tab and are not sent to any server. The CSV log and the certificate image are built on your machine and go nowhere unless you choose to share the downloaded files.
Questions people ask about Gamepad Tester
- Why does the stick drift result say not measured instead of giving me a number?
- Drift can only be measured from samples where the stick was actually resting near center during the test window; if it stayed in motion the whole time, there is no genuine rest sample to compute drift from. Hold the stick briefly at center partway through the test if you want a drift reading.
- Does the rumble test work on every gamepad?
- No — it depends on the browser and controller both supporting haptic actuator playback, which is not implemented everywhere. A rumble test error can mean unsupported hardware or an unsupported browser, not necessarily a broken motor, so treat a failure here as inconclusive rather than a defect finding.
- How is the stick's circularity error percentage calculated?
- The test compares each outer-band sample's distance from center against the average of all outer-band samples, expressed as a percentage deviation. A tight cluster near one consistent radius scores low; samples scattered across a wide range of distances score noticeably higher.
- Can this test tell me exactly which part of my controller is failing?
- No — it identifies a behavior pattern, like a non-monotonic trigger pull or a high stick circularity error, commonly associated with a particular kind of wear or fault, but it has no way to inspect the physical hardware. Use a flagged pattern as a starting point for cleaning or further diagnosis, not a final verdict.
- Why isn't my controller showing up?
- Browsers keep a connected gamepad hidden from a page until you press a button or move a stick, so give it an input first. If it still doesn't appear, close Steam, DS4Windows or similar apps, reconnect the cable or re-pair Bluetooth, and try Chrome, Edge or Firefox.
- Does this work with PS5 DualSense, Xbox and Switch Pro controllers?
- It works with any controller your browser exposes through the Gamepad API. The labels are correct when the browser applies the standard mapping to that pad; with a non-standard pad they can point at the wrong button. Whether a given model gets the standard mapping is decided by your browser and operating system, not by this page.
- How can I tell if my controller has stick drift?
- Run the stick test and let the stick rest at center for a moment before the eight seconds end. A resting offset under 3% is negligible, 3–8% is usually hidden by game dead zones, 8–15% can cause slow unwanted movement, and 15% or more is classic drift.
- Can stick drift be fixed?
- Sometimes. Cleaning around the stick base with compressed air, recalibrating in your system or console settings, or raising the dead zone in a game can hide mild drift. Worn stick modules usually need replacing, so check the warranty first; this tool only measures the drift, it cannot correct it.
- Does it work on Android or iPhone?
- Only if the mobile browser exposes the Gamepad API for your paired controller; the page does not install anything extra. If the browser lacks that API, the page says the Gamepad API is not supported. Mobile browsers were not specifically tested, so treat phone results as a best effort.
Related tools on BrakeTools
- Keyboard Chatter & Switch Tester — Detect duplicate key presses, rapid switch chatter, stuck keys and keyboard rollover locally.
- Mouse Polling Rate & Jitter Studio — Measure browser-observed mouse event rates and timing variation, with live intervals and jitter charts.
- Monitor & Dead Pixel Tester — Inspect solid colors, grayscale, gradients, and geometry grids in a distraction-free full-screen display test.
Content reviewed 2026-09-27.