How to Test a Controller Online
Test your controller with this online gamepad tester without installing additional software. It works as a simple controller tester: connect a device, interact with it, and watch the readings change.
- Connect your controller to your computer using USB or Bluetooth.
- Keep this page open and active, then press a controller button or move a stick. Some browsers expose controller input only after you interact with the device.
- Press the face buttons, shoulder buttons and D-pad directions. Check whether the corresponding inputs register in the tester.
- Move both analog sticks in every direction, then release them and observe their resting values.
- Slowly press and release the triggers to see how their readings change.
- Use the Overview, Buttons, Sticks, Triggers and Diagnostics views to inspect the available input information.
If more than one controller is connected, use the Player buttons in the connection status card to choose which one to inspect. If the tester does not detect your controller, follow the troubleshooting steps below.
Understanding Your Controller Test Results
The tester displays the input data exposed by your browser. Values can vary with the controller, its mapping and the way the browser reports each input.
Button values
Button readings are displayed from 0.00 to 1.00. A value near zero usually indicates a released button, while a value near one usually indicates a fully pressed button. Some inputs can report intermediate values.
The button index (shown as #0, #1 and so on in the Buttons view) identifies the position reported by the browser. Labels can differ between controller layouts, so do not assume that every controller uses identical button numbering.
Analog stick and axis values
Under standard Gamepad API mapping, each stick axis ranges from −1 to +1. Horizontal movement uses negative values to the left and positive values to the right. Vertical movement uses negative values upward and positive values downward.
A centred stick should generally read close to zero on both axes. This tester displays raw readings without applying a dead zone, so a small non-zero reading alone does not prove that a controller has a hardware fault. Without a standard mapping, the Sticks view lists every axis as the browser reports it, and some axes (for example a D-pad exposed as a single axis) can report values outside this range.
Trigger readings
With a standard mapping, the Triggers view shows the left and right triggers as meters from 0.00 (released) to 1.00 (fully pressed). Depending on the controller, a trigger may report intermediate analog values or behave more like a digital button that jumps between the two ends.
With a non-standard mapping the tester cannot tell which input is a trigger, so look for it among the raw values in the Buttons and Sticks views. Trigger behaviour is not identical across controllers.
Controller mapping
The tester shows whether the browser reports a standard or non-standard mapping, in the Controller card and in the Diagnostics view, along with the device details the browser provides.
A standard mapping follows the browser’s expected control layout. Non-standard controllers may expose different button arrangements or values, so their readings and visual representation can differ: the controller illustration stays neutral and the Buttons and Sticks views list every raw input instead.
What This Gamepad Tester Can and Cannot Test
JoystickCheck is an online gamepad input tester that lets you inspect the controller data available to your browser. Because it runs in the browser, you can run a controller test online, and use it as a quick game controller test when something seems off. You can use it to:
- Run a gamepad button test: check whether button and D-pad inputs register.
- Inspect analog stick and axis readings.
- Observe trigger values.
- View the reported controller mapping and available device details.
- Review recent input activity and event information.
- See the browser-observed update-rate estimate, where available.
As a controller input test, this tool displays input information; it does not certify that the controller hardware is fault-free. It does not currently provide dedicated tests for:
- Stick drift diagnosis.
- Vibration or rumble.
- Battery health.
- Input latency.
- Actual hardware polling rate.
Browser-observed update rate
The Diagnostics view shows an estimate of how often your browser receives changed readings from the selected controller. It is calculated from the intervals between observed input changes (the median of up to 120 recent intervals, shown only once at least 20 have been collected), so it appears only while you are changing inputs. It is affected by browser behaviour, your screen’s refresh rate and how quickly the input changes. It is not the controller’s actual hardware polling rate, and it is not a measurement of input latency.
Browser and Controller Compatibility
JoystickCheck uses the browser’s Gamepad API to read controller inputs. The information available depends on the browser, operating system, controller, connection method and reported mapping, so it cannot guarantee that a specific controller brand or browser will work.
The tester only runs on a secure page such as HTTPS, and the page’s permissions policy must allow gamepad access. Some browsers expose controller data only after you interact with a controller while the page is active.
If a controller is detected but its inputs appear different from what you expect, check the reported mapping and use the troubleshooting guidance below.
Technical references: W3C Gamepad specification and MDN: Using the Gamepad API.
If Your Controller Isn’t Detected
Try these steps in order:
- Interact with the controller. Keep this page active and press a button or move a stick.
- Check the connection. Confirm that your operating system recognises the connected controller.
- Reconnect the controller. Disconnect and reconnect a wired device, or reconnect a wireless device.
- Check the cable and port. Some USB cables support charging but not data transfer.
- Check browser permissions. Confirm that the browser and page policies allow Gamepad API access. The tester shows a message in the status card if access is blocked or the page isn’t on HTTPS.
- Try another browser or connection method. Results can differ between browser, operating system and controller combinations.
- Check controller-mapping software. If the issue persists, temporarily close controller-mapping tools or game launchers that may affect the device.
These steps don’t resolve every case; what works depends on your browser, operating system and controller.
Frequently asked questions
Is this online gamepad tester free?
Yes. The tester is free to use, needs no account and runs in your browser without installing anything.
Can I test controller vibration with this tool?
No. The current tester does not provide a dedicated vibration or rumble test. It only reads input from your controller and never sends commands to it.
Why do my controller’s button names look different?
Button numbering and labels depend on the mapping reported by the browser. The tester uses family-style names only when the browser reports a standard mapping and identifies the controller; otherwise it shows generic names or plain numbers. A non-standard mapping can differ from the familiar layout, so every button also shows the index the browser reports.
Available Languages
JoystickCheck is available in English today. Support for 19 more languages is planned; each one will be marked available once its translation is ready.
- EnglishAvailable
- Español (Spanish)Coming soon
- 한국어 (Korean)Coming soon
- 繁體中文 (Traditional Chinese)Coming soon
- Português (Portuguese)Coming soon
- العربية (Arabic)Coming soon
- 日本語 (Japanese)Coming soon
- Русский (Russian)Coming soon
- Deutsch (German)Coming soon
- Čeština (Czech)Coming soon
- Français (French)Coming soon
- Italiano (Italian)Coming soon
- Türkçe (Turkish)Coming soon
- Polski (Polish)Coming soon
- Nederlands (Dutch)Coming soon
- हिन्दी (Hindi)Coming soon
- Bahasa Indonesia (Indonesian)Coming soon
- Tiếng Việt (Vietnamese)Coming soon
- ไทย (Thai)Coming soon
- Українська (Ukrainian)Coming soon