Gamepad Tester
Connect a controller, press a button and inspect the inputs your browser reports. Buttons light while held and stay marked after registering. Each stick axis shows its raw value beside a reading with your chosen dead zone, so resting movement stays visible. Copy report exports the current session as plain text.
No controller yet. Connect one by cable or Bluetooth, then press any button on it: browsers keep a controller hidden from a page until a button is pressed, so this screen stays empty until you do.
Nothing appears until the controller sends something: browsers keep a pad hidden from a page until a button on it is pressed.
The standard mapping, position by position
When the browser reports standard, the numbers below are fixed by the Gamepad specification and mean the same thing on every pad: they name a position, not a brand. When it reports anything else, the buttons are shown as numbers here, because naming them would be a guess. Peaks are the largest value this session has seen from your controller.
| Index | Shown as | Xbox | PlayStation | Where it sits | Peak seen |
|---|---|---|---|---|---|
| 0 | A | A | Cross | bottom button, right cluster | not yet |
| 1 | B | B | Circle | right button, right cluster | not yet |
| 2 | X | X | Square | left button, right cluster | not yet |
| 3 | Y | Y | Triangle | top button, right cluster | not yet |
| 4 | LB | LB | L1 | top left shoulder | not yet |
| 5 | RB | RB | R1 | top right shoulder | not yet |
| 6 | LT | LT | L2 | bottom left shoulder, analogue trigger | not yet |
| 7 | RT | RT | R2 | bottom right shoulder, analogue trigger | not yet |
| 8 | Back | Back or View | Share or Create | left button, centre cluster | not yet |
| 9 | Start | Start or Menu | Options | right button, centre cluster | not yet |
| 10 | L3 | L3 | L3 | left stick pressed in | not yet |
| 11 | R3 | R3 | R3 | right stick pressed in | not yet |
| 12 | Up | D-pad up | D-pad up | top of the direction pad | not yet |
| 13 | Down | D-pad down | D-pad down | bottom of the direction pad | not yet |
| 14 | Left | D-pad left | D-pad left | left of the direction pad | not yet |
| 15 | Right | D-pad right | D-pad right | right of the direction pad | not yet |
| 16 | Guide | Xbox button | PS button | centre of the centre cluster | not yet |
Common questions
- Why does nothing show up until I press a button?
- Because the browser will not tell a page that a controller exists until you press something on it. That is a deliberate privacy rule: the list of devices attached to your machine is a way to recognise you, so browsers hold it back until you act. The controller can be plugged in, paired, and lighting up, and this page still sees nothing. Press any button, or move a stick far enough to count as input on some browsers, and the whole reading appears at once.
- What is a dead zone, and what does changing it here do?
- A dead zone is how much stick movement a game agrees to ignore, so that a controller resting slightly off centre does not walk your character across the room. Changing the number here changes nothing on the controller and nothing in any game: it changes the second column on this page, which shows what a game using that setting would act on. Values inside the zone become exactly 0, and values outside are rescaled so the edge of the zone reads 0 and a full push still reads 1. At a dead zone of 0.08, a raw 0.05 reads 0.00 and a raw 0.54 reads 0.50. Anything from 0 to 0.9 is accepted; past 0.9 there is so little travel left that the figure would jump from 0 to 1 with nothing in between.
- How do I tell stick drift from a dead zone?
- Let go of the stick and compare the raw and zoned columns. A raw value that stays off centre shows the position reported at rest, even when the dead zone makes the zoned value 0. Different controllers have different tolerances; this reading alone does not establish a fault or a repair threshold.
- Can this fix, calibrate or remap my controller?
- This page reads inputs; it does not calibrate, remap or repair a controller. Use the button history, resting stick values and copied report to record what the browser receives. Calibration and remapping, where supported, belong to the operating system, console or controller utility.
- What do the button numbers mean, and why is index 0 called A?
- When the browser reports the mapping as standard, the numbers are fixed by the Gamepad specification and mean a position rather than a brand: index 0 is the bottom button of the right hand cluster, which is A on an Xbox pad and Cross on a PlayStation pad. The mapping table names every position in all three ways. When the browser reports any other mapping, or none, the numbers are whatever the device chose to send, so this page shows them as numbers and does not name them, because a name there would be a guess printed as a fact.
- Why does my trigger show a value between 0 and 1?
- Because it is an analogue control. On a standard mapping, buttons 6 and 7 are the two bottom shoulder triggers, and they report how far they are pulled rather than just pressed or not. The key for a partly pulled trigger fills from the bottom in proportion to that value, and the Pressed now line gives the figure to two decimals. A trigger that jumps straight from 0.00 to 1.00 with nothing in between is reporting as a plain switch, which usually means the browser mapped the pad without analogue triggers.
- Does anything get uploaded, and what is remembered?
- The gamepad readings are processed in this page and are not uploaded by the tool. Only the dead zone setting is saved in this browser. The controller name, input values and report are not saved between visits. Copy report places text on your clipboard when permitted; you choose where to paste it.
- The page says it cannot see any controller at all. What now?
- Press a button while this tab is in front, then check that the controller is connected and presenting itself as a gamepad rather than a keyboard or mouse. An embedded page can have gamepad access withheld. Browser, operating system and controller support vary; the page displays a message when the Gamepad API is unavailable.
- Can I use this HTML5 gamepad tester on a phone or computer?
- This browser tool uses the Gamepad API, often called the HTML5 Gamepad API. On Windows, macOS, Linux, Android or iPhone, the reading is available only if the browser and operating system expose the connected controller. Pair Bluetooth or wireless controllers, or connect a USB controller, then press a button in this tab. No download is needed for this page.
- Can I test Xbox, PlayStation or Switch controllers?
- The tool displays any connected pad that the browser exposes through the Gamepad API. Standard mapping uses Xbox-style position labels; for example, A denotes the bottom face-button position, Cross on PlayStation. DualSense, DualShock, Xbox and Switch controllers may be reported differently across browsers and connection modes. For nonstandard mappings, read the numbered inputs rather than assuming a button name.
- Does the poll rate measure input lag or latency?
- No. It counts how often this page reads the browser gamepad list. It does not measure the time from a physical button press to a game responding. The page also does not test vibration, gyro, battery charge or stick circularity.
These are the values your browser reports for the controller, read many times a second. The browser hides controllers until you press a button, so nothing appears until then. Raw values are shown beside the dead-zoned ones, and this page cannot calibrate, remap or repair a controller.