Gamepad API Tester
Connect a controller and see exactly what the browser receives.
Press any button on the controller so the browser can see it.
Ready.
Every test runs inside your browser. Nothing you type, say, show or press is uploaded.
How to use this test
This page shows the raw data the Gamepad API gives a web page: the controller's id string, its index and mapping, every axis value, every button's pressed state and value, whether it can rumble, and how often the page sees new data. It's handy for checking a controller, and as a reference if you're building a browser game.
Connect one or more controllers, press Start, then press a button on each controller so the browser shows it. Each controller gets its own table. Move the sticks and press the buttons to watch the values change. Use the rumble button to test vibration, and Copy data to copy a snapshot as JSON.
What the results mean
A mapping of standard means the browser has matched the controller to the standard layout: buttons 0 to 3 are the face buttons, 4 to 7 the bumpers and triggers, 8 and 9 the two center buttons, 10 and 11 the stick presses, 12 to 15 the D-pad and 16 the home button. An empty mapping means you get the controller's own order, which varies by model and system. The update rate shows how often the page sees new data; it can't read faster than your screen refreshes.
What browsers can't read
The Gamepad API covers buttons, sticks, triggers and simple rumble. It doesn't give web pages motion sensors, battery level, light bars, the DualSense's adaptive triggers or the touchpad position, even though the specification describes touch input. Chromium browsers report a PlayStation touchpad click as button 17. Pages that need more can use WebHID, which only Chrome and Edge on computers support.
Rumble support by browser
The dual-rumble effect works in Chrome and Edge, and in Safari on Mac from version 16.4. Firefox and the browsers on iPhone and iPad don't support it. Chrome and Edge 126 and later also support trigger-rumble for the impulse triggers on Xbox controllers.
Common questions
Why doesn't my controller appear until I press a button?
For privacy, browsers only reveal a controller after you use it on the page, so a site can't list your devices without you knowing.
What does the id string mean?
It's the name your system reports, often with the USB vendor and product numbers, for example 054c for Sony and 045e for Microsoft. The exact format differs between browsers.
Is the data sent anywhere?
No. Everything is read and shown in your browser. Copy data only puts the snapshot on your own clipboard.