esc
No tool matches that yet.
  1. Home
  2. Hardware testers
  3. Gamepad & controller tester

Gamepad & controller tester

Connect an Xbox, PlayStation, Switch Pro or generic controller and press any button. Every input shows up live, with pressure values, a stick drift test, a circularity check and a vibration test.

Connect a controller, then press any button

Browsers only reveal a gamepad after you press a button or move a stick on it — this is a privacy rule, not a fault. Plug in by USB or pair over Bluetooth first.

  • Xbox — USB-C cable, Xbox Wireless Adapter or Bluetooth
  • PlayStation — DualSense and DualShock 4 by USB or Bluetooth
  • Switch Pro — Bluetooth or USB (press a button once connected)
  • Generic — most XInput and DirectInput pads
Read with the Gamepad API every animation frame — nothing is installed or uploaded.Waiting for a controller

How to use the controller tester

Connect the controller, then press any button. Until you do, the page shows a waiting screen: browsers deliberately hide gamepads from websites until you interact with one, so a page cannot fingerprint you by the devices you have plugged in. Once the controller appears, its name, mapping, button and axis counts and an update-rate counter are shown at the top, and each connected controller gets its own tab. Every controller is read on every frame, not just the selected one, so presses on a second pad are counted straight away; with two or more connected, a strip above the diagram shows each pad's progress and last input, and its tab lights up when it is used.

Press every button in turn. It lights orange on the diagram while held and keeps a green outline once tested, while the button grid shows its analogue value and how many times it has been pressed. Triggers fill their bar in proportion to pressure — a healthy trigger reaches 1.00 at full pull and falls back to 0.00 on release. The stick panels show the exact position of each stick to four decimal places, its distance from centre and its angle, with the dead zone drawn as a shaded circle that you can resize with the slider.

The tester names the controller from the USB vendor and product ID that Chrome, Edge and Firefox include in its name — so a DualSense is recognised even when the system calls it just “Wireless Controller”, and a PowerA or 8BitDo pad isn't mistaken for a PlayStation one. Safari gives no IDs, so there it falls back to the name and says so.

Testing for stick drift

Stick drift is when a thumbstick reports movement while nobody is touching it — the camera slowly turns or your character creeps forward. It is caused by wear in the potentiometers inside most sticks, dust, or a stick that no longer re-centres properly. Put the controller on a table, take your hands off, and click Measure drift. The tester samples both sticks and triggers for three seconds and reports the average resting distance from centre on a 0 to 1 scale.

Resting offsetVerdict
Below 0.02Excellent
0.02–0.06Fine: any normal dead zone hides it
0.06–0.12Slight drift: raise the in-game dead zone
Above 0.12Drift: the stick needs cleaning or replacing

A small offset is normal on every analogue stick, which is why games apply a dead zone: any reading inside it is treated as zero. If the dot sits outside the shaded circle at rest, a game with that dead zone would see movement. Under the stick panels the tester also records the smallest movement each stick has reported: a value around 0.004 means the controller sends raw readings, while a jump straight to 0.1 or so means the controller or its driver applies its own dead zone. It also counts the distinct levels each trigger reports, so you can see that Switch Pro ZL and ZR are simply on or off. Hall-effect and TMR sticks, used in some newer controllers, do not wear in the same way and usually read very close to zero.

What the circularity test tells you

Rotate each stick slowly around the outer edge of its gate. The tester records the furthest reading in each of 72 directions and draws the resulting outline in green. Once at least 90% of the edge has been traced, it reports the circularity error: the average difference between your outline and a perfect circle of radius 1. Values under about 5% are excellent, 5–12% is typical, and higher figures mean the stick reaches full deflection in some directions but not others, which shows up as uneven aim or movement speed on diagonals. A square-ish outline that bulges at the diagonals is normal for many controllers and can be corrected in games that offer a radial dead zone or outer dead zone setting. A flat spot in one direction usually points to a worn or dirty stick.

Vibration, mapping, polling and browser support

Most controllers have two rumble motors: a heavy, low-frequency one in the left grip and a lighter, high-frequency one in the right. Test them separately with Strong motor and Weak motor; if one does nothing, that motor or its wiring has failed. Xbox One and Series controllers also have motors in the triggers, which Chromium browsers can drive with Trigger rumble. Chrome and Edge support rumble for Xbox and PlayStation controllers; Firefox and Safari support is patchier. DualSense adaptive-trigger resistance can't be set through the Gamepad API; WebHID-based tools can drive it, and our DualSense extras panel uses WebHID in Chrome and Edge to show the motion sensors, touchpad fingers and battery, and to set the lightbar over USB.

A controller with standard mapping has been matched by the browser to the usual layout, so button 0 is always the bottom face button and axes 0–3 are the two sticks. Older DirectInput pads, and some PlayStation pads in Firefox or over Bluetooth, arrive with no mapping. Then the tester translates the known PlayStation order, lets you pick which axes are the sticks (axes that rest at −1 or +1 are almost always triggers and are left out of the drift and circularity maths), and decodes a d-pad reported as one stepped “hat” axis into eight directions. The raw lists stay accurate either way.

The live view samples at your screen's refresh rate, like most games. Measure polling rate instead reads the controller as fast as the browser allows for five seconds. Browsers collect controller data on their own timer, so the figure is what a web page can see — a 1000 Hz wired pad may read lower — and it isn't a wireless latency test.

To check a keyboard or mouse as well, use the keyboard tester or the mouse tester.

Frequently asked questions

Why isn't my controller detected?

Press a button on it first — browsers only expose controllers after an input. If it still does not appear, check it works in the operating system's own controller settings, try a different USB cable (many are charge-only), and close programs such as Steam that can take exclusive control. Bluetooth controllers must be paired before the page can see them.

How do I know if my controller has stick drift?

Let go of the sticks and click Measure drift. If the average resting offset is above about 0.06, games with small dead zones will notice it; above 0.12 is clear drift. You can also watch the stick panels: at rest the dot should sit inside the shaded dead-zone circle and stay still.

Does it work with PS5 DualSense and Switch Pro controllers?

Yes. PlayStation and Nintendo pads are identified from their USB vendor and product IDs, so a DualSense is labelled as one even when the system names it “Wireless Controller”, with Create, Options and touchpad labels; a DualShock 4 shows Share. Switch Pro controllers get Nintendo labels and Capture. Without standard mapping, the known PlayStation layout is translated and you can choose the stick axes.

Why doesn't the vibration test do anything?

Vibration depends on both the browser and the connection. Chrome and Edge support rumble for Xbox and PlayStation controllers; Firefox and Safari often do not. Some controllers do not rumble over Bluetooth on certain systems, and third-party pads may have no motors. If the tester says vibration is available but you feel nothing, a motor may have failed.

What is a good circularity error?

Under about 5% is excellent and 5–12% is typical for a healthy stick. Many controllers read slightly beyond 1.0 at the diagonals, which raises the figure without being a fault. A large error concentrated in one direction, visible as a flat side on the green outline, suggests a worn or obstructed stick.

Is my controller data sent anywhere?

No. The Gamepad API is read by JavaScript on this page and nothing is uploaded. The only thing saved is your dead-zone setting, in your browser's local storage. The report is generated on your device when you copy or download it.

Can I test two controllers at the same time?

Yes. Every connected controller is read on every frame, so button presses, circularity and counters build up on all of them at once, not only the one whose tab is open. With two or more connected, a strip above the diagram shows each controller's name, how many buttons have been tested and its last input, and the report covers every pad.

Hardware testers