Gamepad tester

Connect a controller by USB or Bluetooth and press a button. Inspect reported buttons, triggers and stick axes live. Release the sticks to check for persistent offsets, and try vibration if the browser and controller support it.

Connect your controller and press any button

Runs locally in your browser. Optional recordings and photos stay on your device; nothing is uploaded.

What this test can tell you

The page displays browser-reported buttons and axes. With a standard mapping, release the sticks and compare their resting distance from center; the warning threshold is 0.10.

Held sticks also exceed that threshold. It is not a manufacturer pass/fail limit. Non-standard mappings use raw button numbers and have no stick-drift verdict; vibration depends on browser and device support.

How to use it

  1. Connect the controller and press any button to wake it up.
  2. Press each button and pull the triggers — they light up with their pressure value.
  3. Move both sticks in full circles, then let go and read the drift check.
  4. Press Weak or Strong to test vibration.

Stick drift

Release both sticks and watch the raw axis values. The warning checks each stick’s distance from center: sqrt(x*x + y*y) above 0.10. This radial threshold is chosen for this tool; it also flags intentionally held sticks. A persistent offset at rest can indicate drift, but there is no universal pass/fail threshold and a game’s dead zone can hide the offset.

Controller stick drift test: check the sticks at rest

Move each stick around its full range, release it completely and watch the raw axis values for several seconds. Repeat after moving in different directions. The browser reports values from −1 to +1; zero represents the reported center.

  1. Connect the controller and press a button so the browser exposes it.
  2. Place the controller on a stable surface and keep your hands off both sticks.
  3. Read the resting values for both axes. Then rotate one stick, release it and check again.
  4. Compare USB and Bluetooth if both are available. Finally check the same controller in the affected game with its dead-zone setting noted.
Interpreting your results
What you seeWhat it means / next check
Small offset around zeroIt may fall inside a game’s dead zone. Different games can respond differently to the same raw value.
Drift warning while holding a stickExpected: the warning checks whether either stick is more than 0.10 from its reported center, using √(x² + y²). It cannot distinguish intentional movement from movement at rest.
Persistent offset after releasing the stickThis is evidence of an off-center reported position. The radial 0.10 threshold is this tool’s screening choice, not a manufacturer pass/fail specification or a calibration certificate.

Methods and sources

These explanations describe this page’s browser test and its limitations. Last updated . Reference documentation:

How TestMyDevice works and what it can measure

Not working? Try these fixes

The controller is not detected

Press a button after connecting — browsers only show controllers after input. Try a USB cable, close Steam (it can take over controllers) and use Chrome or Edge.

Vibration does nothing

Vibration depends on the controller, connection, operating system and browser API support. A controller can report buttons and axes correctly even when browser vibration is unavailable.

Buttons are in the wrong place

Some controllers report a non-standard mapping. The button numbers are still shown, so you can check each one.

Frequently asked questions

Which controllers work?

Xbox, PlayStation (DualSense, DualShock 4), Nintendo Switch Pro, 8BitDo and most PC gamepads that your computer recognizes.

Can I test two controllers?

Yes. Every connected controller is listed and can be selected.

Related tests

PS4 controller testCheck DualShock 4 inputs with Share and Options button labels. PS5 controller testInspect DualSense buttons, trigger travel and reported stick positions. Xbox controller testCheck Xbox buttons, analog triggers and stick positions. Keyboard testCheck individual keys, held combinations and repeated key events. Mouse testCheck buttons, wheel events, click intervals and pointer update rate.