Frequently asked questions
The questions people ask first, each answered in a few sentences, with where to read more.
What can PadBench test?
A controller's polling rate and timing, every button and the chatter of a worn switch, stick drift, dead zone and reach, how far each trigger travels, its motion sensors, and how it settles opposite directions. It plays each motor and sets the lights while you watch, and four mini games test the pad in play. How much of it a pad offers depends on the pad and on what reads it.
My controller isn't detected. What do I do?
Press a button on it with this page open: a browser shows a controller to a page only once it has been used there, and Safari only while its window is in front. If it still doesn't show, check that it's paired in your system's Bluetooth settings, or try another USB cable, since some only charge. An app that remaps controllers can hide one from the browser or show it as another, so close it and try again.
My controller is paired over Bluetooth, but it doesn't show. Why?
Some pads, paired over Bluetooth, never show through the browser's Gamepad API, most often on a Mac, since the browser doesn't take them for a gamepad. In Chrome or Edge, choose + after the controller tabs and pick the pad in the browser's list: PadBench then reads it through WebHID. Safari and Firefox have no WebHID, so open PadBench in Chrome or Edge for such a pad.
Which browsers work, and what does each one miss?
Chrome, Edge, Firefox and Safari all read controllers through the Gamepad API, which hands the page one reading per screen refresh. Chrome and Edge can also read a pad report by report through WebHID, once you allow it: that counts its polling rate, and reads more of the pads PadBench knows, such as a DualSense's touchpad, motion sensors and battery. PadBench needs Chrome or Edge 123, Safari 17.5 or Firefox 120, or later.
Is my stick drifting, and how much is too much?
Flick the stick and let go a few times: PadBench measures where it settles each time, and Drift under its circle shows the furthest it settles from centre. Past 10% it reads High once two releases agree, since a stick resting there reaches past the dead zone many games leave it. Below that, whether a game notices depends on its own dead zone.
What does Edge mean under a stick?
Push the stick all the way and rotate it slowly round its edge, and PadBench traces how far it reaches in every direction. Edge then shows the least and the most it reached. Past 100% on the diagonals is normal for a squarish gate, and is never marked as a fault.
Why does the same pad read differently in another browser, or on another connection?
Each browser reads controllers its own way: it names the buttons by its own mapping, may apply a dead zone of its own, and hands the page readings at its own pace. One pad can also send different reports over USB and over Bluetooth: a Sony pad on Bluetooth starts in a reduced report, without its touchpad or motion sensors, until something switches it.
Why does the polling rate say “Not measurable here”?
The browser hands PadBench one reading per screen refresh, so it can't count the pad's own reports. Where the browser has WebHID and can open the pad, Use WebHID reads it directly and counts every report. Elsewhere PadBench gives no figure rather than a wrong one.
Why is there no input lag figure?
A press waits at most one report interval to be sent, which the Timing tab shows wherever PadBench can count reports. The delay inside the pad, from the switch to its report, is invisible to software, so a latency figure would be a guess, and PadBench shows none.
Why doesn't Vibrate show for my controller?
Vibrate shows in a pad's tools only where the pad can be rumbled, and the pad's Controller tab lists it there, with what it plays on that pad. Chrome and Edge rumble most pads, and through WebHID the ones PadBench knows, such as a DualSense, which Chrome on Windows can't rumble otherwise. Safari rumbles pads only on a Mac, and Firefox rumbles none.
My pad is shown as the wrong model.
PadBench names a pad by the ids and the name it reports, and many pads report another product's, such as a DualShock 4's or an Xbox 360 controller's, so that games take them. Choose yours in the Controller tab, under Which pad is this? or Not this pad?, and PadBench remembers it for that pad. If yours isn't listed, tell us through Feedback.
How do I switch my pad's mode, such as XInput, DirectInput or Switch?
Many pads, 8BitDo's and GameSir's and boards running GP2040-CE among them, present as a different controller in each mode, and switch by a slider or by a button held as they're plugged in or turned on, as their manual says. PadBench shows what the pad presents as in the mode it's in, so you can see the switch worked.
What does the Windows app add?
It reads controllers and the keyboard while a game has focus, so you can test with your game running. It reads pads through Windows itself: a DualSense and other HID pads report by report, for their true polling rate, and Xbox pads natively, change by change. It hasn't been released.
Does PadBench send anything about my controller?
No. PadBench reads your controller on your device and keeps what it measures there. After the page loads, nothing is sent unless you ask, and no cookie is set; the list of controllers it recognises yours by is the same file for every visitor, so loading it says nothing about your pad.
Is PadBench free?
Yes. It has no ads, no paywall and no account to make.