Free online tool

Gamepad Tester

Press every button, squeeze the triggers and measure stick drift to see whether a controller is worth keeping.

Upload a file

Drop your file hereTap to choose a file

or click to browse, or paste from the clipboard

Every button, trigger and stick

Face buttons, D-pad, shoulder buttons, Start, Select, Home and stick clicks light up on a drawn controller and stay marked once tested. Triggers show 0–100% and sticks show X and Y to three decimals.

Two-second stick drift check

Let go of the sticks and the tool samples their resting position for two seconds, then rates each stick as normal, mild or significant drift against thresholds shown on the page.

Vibration and four controllers

Test the rumble motors together or one at a time where your browser exposes them, and switch between up to four connected controllers.

How to test a controller for stick drift

  1. 1

    Connect the controller by USB or Bluetooth and press any button so the browser reveals it.

  2. 2

    Press every button, squeeze both triggers and rotate each stick around its full circle.

  3. 3

    Let go of the sticks, select Measure drift and wait two seconds for the rating.

  4. 4

    Select a vibration button to check the rumble motors, then choose another controller from the list if more are connected.

What people use this tool for

  • Put numbers on stick drift before buying a replacement or opening a warranty claim.
  • Check every button and trigger on a second-hand controller before you pay for it.
  • Find out whether a game is misbehaving because of the controller or because of its own settings.
  • See which button and axis numbers a generic USB gamepad reports before mapping it in a game or emulator.

Frequently Asked Questions

How do I test my controller online?

Connect it with a USB cable or pair it over Bluetooth, keep this page in front and press any button. The layout appears, and each button lights up while pressed and stays marked afterwards. The Buttons tested readout counts how many have registered. Squeeze both triggers and rotate both sticks to check their range.

Why does the page say it is waiting for a controller?

A browser only reveals a controller to a web page after a button on it is pressed, so that sites cannot quietly identify your hardware. Press any button with this tab in front. If nothing happens, check the cable or pairing, make sure your operating system sees the controller, then select Check for controllers.

How does the stick drift check work?

Take your thumbs off the sticks and select Measure drift. For two seconds the tool records each stick's position, then reports the average resting offset and the largest deviation from center on the axis scale of -1 to 1. The largest deviation sets the rating: up to 0.05 is normal, above 0.05 and up to 0.15 is mild drift, and above 0.15 is significant drift.

Is a small offset a problem?

Usually not. Sticks rarely rest at exactly zero, and many games ignore small values with a dead zone. Mild drift may go unnoticed in a game with a generous dead zone and show up in one with a small dead zone. Significant drift usually appears as a camera or character that moves on its own.

Which controllers work?

Any controller your browser exposes through the Gamepad API. In practice that includes Xbox, PlayStation and Switch Pro controllers and most USB gamepads, though support varies by browser and operating system. Controllers the browser recognizes get the drawn layout, with Xbox, PlayStation or Nintendo button labels. Others are shown as numbered buttons and axes, and each axis is measured on its own in the drift check.

Why are my triggers either 0% or 100%?

Some controllers, such as the Nintendo Switch Pro Controller, have digital triggers that are only on or off, and some browser and driver combinations report analog triggers the same way. Analog triggers that are passed through show every value in between as you squeeze.

The vibration buttons are disabled. Why?

Vibration can be tested only when the browser exposes a vibration actuator for that controller. If it does not, the page says so and the buttons stay disabled. When it does, Both motors, Strong motor and Weak motor each send a 0.6-second rumble, so you can tell whether one motor has failed.

Is anything recorded or uploaded?

No. The page reads the controller state your browser provides, draws it and discards it; nothing is sent to a server. It stops reading when no controller is connected and when you leave the page. Motion sensors, touchpad swipes and adaptive triggers are not tested.