Gamepad Tester
Use this Gamepad Tester to check a controller before a match, stream or repair session. It reads the browser Gamepad API locally and shows button values, axes, deadzone-filtered movement and available vibration support. Standard-mapped controllers receive familiar control names; raw layouts stay numbered so the tool never guesses their physical controls. Device ids, button values and axis readings stay in the browser.
How to test a controller
-
1
Connect and wake the gamepad
Plug in a USB controller or pair it over Bluetooth. Press any button once if the browser waits for user input before listing the device.
-
2
Move every input
Press each button and rotate the sticks. Watch the input-value bars, raw axis values and filtered positions update in real time. Trigger names appear only when the browser reports a standard mapping.
-
3
Test the centered sticks and vibration
Leave both sticks untouched during the short centered-stick sample, adjust the display deadzone if useful, then run the vibration check when the browser exposes a haptic actuator.
What the Gamepad API reports
Modern browsers expose compatible controllers through the Gamepad API. Each detected pad can provide an id, a mapping name, an ordered list of buttons and an ordered list of axes. A button can report an analog input value from 0.00 to 1.00 instead of only pressed or released. Axes normally report movement from -1.00 to 1.00, with 0.00 meaning centered. Only the standard mapping guarantees the familiar button, trigger and stick order; raw layouts therefore remain numbered.
Deadzone and drift
A deadzone is a small range around the center of a stick that the display treats as zero. The default here is 0.12, so values from -0.12 through 0.12 are filtered out. This setting changes only the tester display; it does not calibrate the controller or change a game. For standard-mapped pads, the centered-stick test samples the four stick axes while they rest. It reports a persistent resting reading outside the chosen threshold, while rejecting a sample if the sticks moved during the test. This is a diagnostic clue, not a definitive hardware diagnosis.
| Symptom | What to look for | Typical fix |
|---|---|---|
| Slow camera movement | A stable centered-stick sample remains outside the deadzone | Retest untouched, then adjust the game or service the stick |
| Trigger does not reach full pull | A standard-mapped trigger input value stops below 100% | Recalibrate, clean or test another USB port |
| Button double input | The numbered button changes state twice for one press | Check the switch, cable or wireless connection |
| Vibration test fails | Vibration is not supported or the browser blocks it | Try another browser or confirm the controller supports haptics |
Worked example
Suppose repeated centered-stick samples cluster near +0.04 on the X axis and -0.03 on the Y axis. With the default deadzone of 0.12, both filtered values become 0.00 and the centered-stick result stays inside the threshold. If stable samples instead cluster near +0.21, the tool reports that resting axis outside the deadzone. Retest with the stick untouched before changing an in-game deadzone, recalibrating or checking the hardware on another machine.
Common pitfalls
- Some browsers do not reveal a gamepad until a button is pressed after the page loads.
- Bluetooth latency, low battery or a weak cable can make inputs look intermittent.
- Button and axis order can vary outside the standard mapping, so raw controls deliberately stay numbered.
- A browser vibration test only proves browser support. A game can still use its own haptics layer differently.
Frequently Asked Questions
Device ids, button states and axis readings stay in the browser and are not sent to the server. In funnel mode, only the deadzone and selected controller slot are carried in the page URL as display settings.
Many browsers wait until the user interacts with the controller. Press any button after opening the page, make sure the tab is focused and refresh the list if needed.
Start with the default 0.12 as a viewing threshold. Lower values reveal smaller resting readings; higher values hide more movement in this display. The slider does not change the controller or a game, so set the actual gameplay deadzone inside the game.
Browser haptics support depends on the controller, browser, operating system and connection type. If the button is disabled, the gamepad still works for input testing but does not expose a vibration actuator to the page.
Related Tools
Metronome
Practice with a precise online metronome. Set BPM, meter, accent and subdivisions, then play a steady browser click locally.
Fancy Serial Number Checker
Check US-style currency serial numbers for fancy patterns like radars, ladders, repeaters, low numbers and star notes.
Baby Name Generator
Generate baby name ideas filtered by gender, origin, first letter, length and style. Fresh lists every click; save favourites to compare.
Bingo Card Generator
Generate printable bingo cards with random numbers or custom words. Standard 5x5 with a free center square, ready for classroom or party games.
Blossom Solver
Enter the centre letter and six petal letters to find every valid Blossom answer. Sorted by length and highlighted for pangrams.
Baby Sleep Schedule Generator
Generate an age-appropriate sleep schedule for your baby from newborn to 3 years, based on total sleep need, wake windows and nap count.