Several browsers only expose the gamepad after a physical interaction with it (pressing a button or moving a stick). This is a privacy protection, press any button to trigger detection.
Monitor buttons and axes from connected controllers
Before blaming the game for a jump that never registers or a character that walks on its own, it helps to isolate the hardware. This tool uses the browser's Gamepad API to show, in real time, every button that lights up and every axis (the two analog sticks and the triggers) as you press them. The browser polls the controller's state each frame and reports a mapping, "standard" when the controller follows the common Xbox/PlayStation layout, or empty/proprietary when it does not. Because the test runs in the browser itself, it separates a real hardware problem (an unresponsive button, stick drift) from a configuration problem inside the game.
Buttons light up when pressed; analog triggers (LT/RT) show a value between 0 and 1 depending on pressure. Each axis is a stick along one direction: an analog stick produces two axes (horizontal and vertical) that range from −1 to +1, with 0 at center. The timestamp is the time stamp of the last frame the API read, it changes constantly while the controller sends signals, confirming the read is live.
A "standard" mapping means the browser recognized the common layout (same positions for A/B/X/Y, triggers and sticks as a typical controller), which lets most web games work without remapping. An empty mapping means the controller is exotic or uses a proprietary driver, the signals still appear, but at indices the game may need to reconfigure.
Example 1, hunting stick drift: fully release both sticks and watch the axes. On a healthy controller, each axis sits very close to 0 (say, 0.00 to 0.03). If one axis stubbornly reads around 0.20 on its own, the character "walks" untouched, the classic drift symptom, caused by wear in the stick's potentiometer.
Example 2, a button that fails in-game: press the suspect button repeatedly and check whether it lights up consistently here. If it always lights here but fails in the game, the problem is the game's mapping/configuration; if it also fails here, the button or controller itself is faulty.
Use it when buying a used controller, after cleaning or replacing a stick, when setting up a new controller on a PC, or when you want to prove that the "lag" or dropout is hardware and not the game. It also confirms whether a Bluetooth adapter really delivers every button.
If the controller does not appear, many browsers only expose it after a physical interaction (press a button), a privacy protection against fingerprinting. Constant drift points to a worn stick; an axis that never reaches its extreme may signal a high dead zone or wear; buttons that never light here indicate a real physical fault.
Paste the code into your HTML and the tool shows up on your page, without J-Kit's navigation and ads. It still runs in the browser of whoever visits your site.
<iframe
src="https://jkit.tools/embed/en-US/gamepad-tester"
width="100%"
height="600"
style="border:0"
loading="lazy"
title="Gamepad Tester"
></iframe>These references help contextualize formulas, standards, APIs and limitations used on this page. They do not replace professional validation when a result has legal, financial, medical or operational impact.
Several browsers only expose the gamepad after a physical interaction with it (pressing a button or moving a stick). This is a privacy protection, press any button to trigger detection.
Controller signals are read locally and are not sent to the server.