Controller Tester
English

Gamepad Tester

Free online controller test. Plug in or pair any gamepad, press a button and watch it light up. Checks every button, both sticks, the triggers and stick drift in your browser, with nothing to install and nothing uploaded.

○ No controller detected yet
LT 0%RT 0%LBRBViewMenuXboxL3R3YXBA

▶ Connect a controller and press any button

Plug it in over USB or pair it over Bluetooth. The browser only reports a gamepad after the first press.

pressed now tested not yet0 / 17 buttons tested
Left stick
X +0.00Y +0.00
—
Right stick
X +0.00Y +0.00
—
Triggers
LT
0.00
RT
0.00
Not pressed yet
—
Raw Gamepad API ›
B0
0.00
B1
0.00
B2
0.00
B3
0.00
B4
0.00
B5
0.00
B6
0.00
B7
0.00
B8
0.00
B9
0.00
B10
0.00
B11
0.00
B12
0.00
B13
0.00
B14
0.00
B15
0.00
B16
0.00
axes[0] +0.0000axes[1] +0.0000axes[2] +0.0000axes[3] +0.0000

Connect a controller, press any button and the matching control on the diagram lights up. A button turns orange while you hold it and keeps a teal outline once it has registered, both sticks draw their position as you move them, and the trigger bars fill with the analog value. In two minutes you know whether every button, stick and trigger on the controller still works, and whether either stick has drift.

The tester works with any controller your computer or phone already recognises: Xbox Series X|S, Xbox One and 360, DualSense and DualShock 4, the Switch Pro Controller and Joy-Con, 8BitDo and most generic USB or Bluetooth pads. It runs on the Gamepad API built into every modern browser, so there is nothing to download and nothing leaves your device.

How to use the gamepad tester

  1. Connect the controller with a USB cable or pair it over Bluetooth in your operating system's settings. Wired is the most reliable way to test; Bluetooth works too but can hide a cable fault or add latency.
  2. Press any button once. Browsers deliberately keep a gamepad hidden until the first press, so the diagram stays dimmed until you do this. The controller's name and the number of buttons and axes then appear above the diagram.
  3. Check the layout. The tester picks Xbox, PlayStation or Switch from the controller's vendor ID and relabels the buttons to match. If it guessed wrong, pick the right one above the diagram; Generic shows plain numbers.
  4. Press every button once, pull both triggers all the way, click both sticks and roll each stick around its edge. The Not pressed yet list shrinks as you go and the counter reaches the total when everything has registered.
  5. Press Reset to clear the tested marks and start over, for example after cleaning a button or switching the controller from Bluetooth to a cable.

Up to four controllers can be connected at once. The P1 to P4 slots above the diagram show what the browser sees; click a slot to switch the diagram to that controller. Each one keeps its own tested marks.

What each part of the screen checks

The diagram, the two stick panels, the trigger bars and the raw data grid all read the same controller state, but each one answers a different question.

B70.00Not pressed yet. The browser knows the button exists but has never seen it go down. Every control starts like this.
B01.00Pressed right now. Orange while the button is held. Triggers show their analog value from 0.00 to 1.00 instead of just on or off.
B10.00Registered at least once. Teal outline stays after you let go. When every control has it, the counter reaches the total and the controller passed.
14%driftDrifting. Red on a stick panel means the stick reports more than 10% offset while nobody is touching it. Run the full drift test to grade it.

Buttons

Every button on a standard controller is drawn on the diagram, including the shoulder buttons, stick clicks (L3 and R3), the d-pad, the Guide or PS button and, on PlayStation pads, the touchpad click. A button that never changes colour however hard you press it is not reaching the computer. A button that lights up when you press a different one is a wiring or firmware fault, not a browser problem.

Triggers

The two triggers are analog on Xbox and PlayStation controllers, so the tester shows them as bars from 0.00 to 1.00 rather than simple on or off. Pull slowly and the bar should fill smoothly. A trigger that jumps straight from zero to full is either a digital trigger (Switch, many arcade sticks) or a controller in a compatibility mode, not a defect.

digital button0.001.00on or off, nothing in betweenanalog trigger0.000.250.621.00every position between released and fully pulledpress
Face buttons report only 0 or 1. Triggers report the whole range, which is why the tester draws them as bars with a percentage.

Sticks and drift

Each stick panel plots the live X and Y values on a crosshair. Let go of the stick and watch where the dot comes to rest. The panel reports the rest offset as a percentage of full travel and colours it: teal under 5%, orange between 5% and 10%, red above. Red means the controller is telling the game you are pushing the stick when you are not, which is the definition of stick drift.

nobody is touching the stickrest offset0.0%14.3%finedriftingThe game sees this as you pushing the stick.
Stick drift as the tester sees it: the controller is on the desk, yet the reported position creeps away from centre. Under 5% is hidden by dead zones; this one is not.

The home page gives you a live reading; the dedicated stick drift test samples both sticks for ten seconds with your hands off and grades the result, so you can compare before and after cleaning or calibration.

Raw Gamepad API data

The grid at the bottom shows the browser's own view of the controller: buttons[0] to buttons[16] (plus any extras) with their value, and axes[0] to axes[3] to four decimal places. This is the same data every web game and emulator receives. It is useful when a controller has a non-standard layout, when you are checking a remapping tool, or when a support agent asks exactly which index a button reports as.

How to read the results

A button never lights up
The switch underneath has failed or the contact pad is dirty. Try it several times, then with another game or app.
Test every button →
Stick panel shows an offset with nobody touching it
Potentiometer wear or dust under the cap. Over 10% will move the camera in games.
Run the drift test →
Stick never reaches 100% or the trace looks square
Worn gate, bad calibration, or a replacement module with a different range.
Check circularity →
Trigger jumps straight from 0 to 1
The controller is in a digital-trigger mode, or the browser maps it as a button. Not a hardware fault.
Trigger details →
No vibration at all
Firefox and Safari do not expose rumble; some pads only rumble over USB.
Vibration test →
Input feels late over Bluetooth
Bluetooth adds a few milliseconds and can drop reports when the dongle is far away or busy.
Measure latency →
Polling rate reads 125 Hz on a 1000 Hz pad
Bluetooth caps the rate, the pad is in a compatibility mode, or the page is in a background tab.
Polling rate test →

Which controllers and browsers work

Chrome and Edge give the fullest picture: standard mapping for almost every pad, vibration, and the touchpad button on PlayStation controllers. Firefox and Safari read buttons and sticks just as well but do not expose vibration. The table lists what to expect from the controllers most people test.

ControllerChrome / EdgeVibrationFirefoxSafari
Xbox Series X|S, Xbox One
USB and Bluetooth. Share button shows as an extra index. Trigger rumble only in Chrome over USB.
●●●●
Xbox 360
Wired or with the wireless receiver. Safari may need the official driver.
●●●◐
DualSense (PS5)
Touchpad click is button 17. Adaptive triggers, speaker and gyro are not exposed to browsers.
●●●●
DualShock 4 (PS4)
Touchpad click is button 17. Light bar colour cannot be changed from a page.
●●●●
Switch Pro Controller
A/B and X/Y are swapped relative to Xbox. HD Rumble appears as plain rumble at best.
●◐◐◐
Joy-Con
A single Joy-Con maps sideways with a non-standard layout; a pair may show as two gamepads.
◐○◐◐
8BitDo and other XInput pads
Depends on the mode switch: X-input mode maps cleanly, D-input mode may not.
●◐●●
Generic USB / DirectInput
Buttons appear in the controller's own order. Use the raw data grid.
◐◐◐◐
● works with standard mapping◐ works with limits, see note○ not available

Controllers that use DirectInput rather than XInput, including many cheap PC pads and most fight sticks, still work but their buttons arrive in the order the manufacturer chose. The tester marks these as non-standard mapping and the diagram labels may not match; use the raw data grid, where the index numbers are always correct.

When to run a controller test

Buying second-hand. Run the full button sweep and the stick drift test before money changes hands. Drift and a worn trigger are the two faults sellers most often leave out of the listing, and both show up here in under a minute.

Before a warranty claim. Support teams ask whether the fault reproduces outside the game. A screenshot of this page with the rest offset in red, or a button that never lights, is the evidence they want.

Games not responding. When a game ignores the controller, this page tells you which side the problem is on. If every button lights up here, the controller and the operating system are fine and the game's input settings or an overlay such as Steam Input are the cause. If nothing lights up, the fault is with the controller, the cable or the pairing.

After cleaning or repair. Run the joystick test to confirm a replacement stick module reaches full travel in every direction, and the vibration test to check that both motors still fire after you reassemble the shell.

Comparing connections. The latency test and polling rate test show the difference between USB and Bluetooth on the same controller, which decides whether a cable is worth running to the couch.

What the test cannot see

The Gamepad API reports buttons, axes and basic rumble, and nothing else. Battery level, the DualSense adaptive trigger resistance, touchpad finger position, motion sensors, the speaker and the light bar are not readable from a web page on any browser. A controller can also behave differently inside a game than here: Steam Input, DS4Windows and similar tools sit between the controller and the game and may remap or hide inputs that this page shows correctly.

More controller tests

Each test below checks one part of your controller in more detail.

Frequently asked questions

Why does the gamepad tester not detect my controller?

Press a button first. Browsers hide every gamepad until you press something on it, so a freshly connected controller stays invisible until the first input. If it still does not appear, make sure no other program such as Steam or a remapping tool has taken exclusive control, try another USB port or re-pair over Bluetooth, and check that the browser tab is in the foreground.

Do I need to install anything to test a controller?

No. The test uses the Gamepad API that Chrome, Edge, Firefox and Safari already ship with. Nothing is downloaded, no driver is installed and no account is needed. It works on Windows, macOS, Linux, ChromeOS, Android and on iPhone or iPad with a Bluetooth controller.

Can I test a controller on my phone?

Yes. Pair the controller over Bluetooth in your phone's settings, open this page in Chrome on Android or Safari on iOS and press a button. The diagram, stick panels and raw data work the same way as on a desktop; only vibration is unavailable on mobile browsers.

My stick shows a value without me touching it. Is it broken?

Not necessarily. Every stick rests a little off centre; under 5% is normal and hidden by game dead zones. Between 5% and 10% you may notice slow camera creep in some games. Over 10% is stick drift that most games will show, and it is time to clean, calibrate or replace the module. Run the stick drift test for a graded ten-second measurement.

Why are the button names different from my controller?

The browser reports buttons by position, not by name, and the tester adds labels for the layout it detects. Pick Xbox, PlayStation, Switch or Generic above the diagram if it guessed wrong. The raw data grid at the bottom always shows the browser's own index numbers, which never change.

Is any data from my controller sent anywhere?

No. The page reads the controller state in your browser and draws it on screen. Nothing is sent to a server, nothing is stored, and closing the tab discards everything. The only outside traffic is the standard page analytics described in the privacy policy.

Why can I not test the PS5 adaptive triggers, touchpad swipes or gyro?

Browsers only expose buttons, axes and basic rumble. The DualSense adaptive trigger resistance, touchpad finger position, built-in speaker and motion sensors are not part of the Gamepad API, so no web page can read them. The touchpad click and ordinary rumble do work; the Mic button depends on the operating system and may appear as an extra index in the raw data grid.

What should I do after the test finds a problem?

Note which control failed and how. A button that never registers is usually a dead switch or dirty contact. A stick with an offset is drift, which cleaning, dead-zone settings or calibration can often fix before you replace the module. The guide on how to fix stick drift walks through each step in order.