Controller Tester Online
Test PlayStation (DualSense & DualShock 4), Xbox (Series X|S, One & Elite), Nintendo Switch (Pro & Joy-Con), and PC controllers with hardware-matched button labels, stick radars, and trigger gauges.
Plug in your controller & press any button, or test using keyboard emulation / auto demo.
No Controller Detected
Connect your controller via USB or Bluetooth to start testing.
Overview & Diagnostic Methodology
Connect your controller via USB or Bluetooth to run a complete health check across five areas: profile-matched face and shoulder button actuation, Left and Right thumbstick centering and 72-sector outer perimeter traces, proportional or digital trigger pull depth, 8-way D-pad switch closure, and dual-rumble grip vibration. If you need model-specific pinouts or troubleshooting for a single console family, you can also jump directly to our dedicated PS5, PS4, Xbox Series X|S, Xbox One, Nintendo Switch, or PC diagnostic pages.
How Controller Tester Differs from Raw Gamepad Inspection & Hardware-Level Limits
How Controller Tester Differs from Gamepad Tester: A raw W3C Gamepad API table reports every controller using generic indices (B0 through B17 and Axes 0 through 3). When you are troubleshooting a specific console pad—such as checking whether the Touchpad click (B17) works on a PS5 DualSense, whether the Share button enumerates on an Xbox Series X|S Model 1914 controller, or how B0–B3 map on a Nintendo Switch Pro Controller—translating index numbers mentally is slow and error-prone. Controller Tester pairs the diagnostic dashboard with automatic hardware profile detection and an interactive model switcher so the visualizer and button labels match your controller family.
Browser Readings vs. Hardware-Level Diagnostics: It is important to distinguish what a web browser can measure from low-level hardware diagnostics. Through the W3C Gamepad API, your browser reads the normalized button states and axis coordinates that your operating system driver exposes, sampled at your monitor’s requestAnimationFrame refresh rate. A browser cannot measure raw electrical potentiometer resistance in ohms, read internal battery voltage in millivolts, capture raw kernel USB interrupt timing (such as true 1000Hz polling independent of display refresh rate), or write calibration changes into controller flash memory.
Proprietary Console Features Outside the Web Sandbox: Console controllers often include specialized hardware features that require native console OS drivers or vendor SDKs rather than standard browser APIs. For example, PS5 DualSense motorized adaptive trigger resistance and audio-driven haptics, Xbox One/Series independent LT/RT Impulse Trigger rumble motors, Nintendo Switch HD Rumble LRA waveforms, 6-axis gyroscope/accelerometer IMU sensors, and controller headphone jack audio cannot be triggered or tested through standard navigator.getGamepads() calls.
Measurement & Telemetry Classification
Technical distinction between direct hardware reads, client-side algorithms, and educational thresholds.
- Browser-exposed W3C Gamepad API button states (B0–B17) and normalized stick coordinates (Axes 0–3).
- Controller identification string (Gamepad.id) used to detect PlayStation (VID 054c), Xbox (VID 045e), or Nintendo (VID 057e) profiles.
- Proportional or binary trigger values reported on B6 and B7 under W3C standard mapping.
- Hardware profile and visual model selection mapping B0–B17 to console-specific button names.
- Radial stick offset magnitude r = sqrt(X² + Y²) and post-deadzone effective output.
- 72-sector outer perimeter circularity coverage and radial deviation when Circularity Test mode is toggled on.
- Browser readings vs. hardware-level diagnostics: what web APIs can measure and what remains locked inside proprietary console protocols.
- Positional vs. glyph button mapping: why Nintendo Switch B/A/Y/X positions differ from Xbox A/B/X/Y labels on B0–B3.
- OS driver layers: how Windows XInput, DirectInput, Steam Input, and macOS Game Controllers shape the data sent to your browser.
Key Diagnostic Parameters
How to Test Step-by-Step
- 1Connect your PlayStation, Xbox, Nintendo Switch, or PC controller via USB data cable, Bluetooth, or wireless adapter.
- 2Click inside the page and press any face button to wake the browser connection and auto-detect your hardware profile.
- 3Use the top Model Switcher (PS5, PS4, Xbox, Switch, or Universal) if you want to compare or override the visual controller layout and button glyph labels.
- 4Press every face button, bumper, stick click (L3/R3), and system button (Create/Share/Options/Menu/Touchpad) to confirm clean registration.
- 5Check Left and Right thumbstick resting offsets in Step 3, test trigger pull from 0% to 100%, and run a dual-rumble check if supported by your browser and OS driver.
What This Test Verifies
Whether a console or PC controller displays canonical face button labels (B0–B17) or raw hardware indices depends on whether your OS and browser recognize its Vendor/Product ID under W3C mapping: "standard" or pass through unmapped DirectInput/HID reports (mapping: "").
Explains how browsers identify recognized controllers versus raw USB/Bluetooth HID devices.
Details how Windows distinguishes Xbox/XInput controllers from generic HID gamepads.
Frequently Asked Questions
What is the difference between Controller Tester and Gamepad Tester on this site?
Both pages use the same underlying W3C Gamepad API engine, but they serve different workflows. Gamepad Tester is framed for raw API inspection—focusing on B0–B17 index numbers, axis arrays, and developer event monitoring. Controller Tester focuses on console and PC hardware profiles (PlayStation, Xbox, Switch, and Universal), explaining how specific controller families map their buttons and where browser-level testing differs from native console features.
Why can’t a browser test PS5 adaptive trigger resistance, Xbox Impulse Triggers, or gyro motion sensors?
The W3C Gamepad API standardizes a common cross-platform subset of inputs: up to 18 buttons, 4 thumbstick axes, and basic two-channel (strong/weak) grip vibration. Proprietary features like DualSense motorized trigger tension, Xbox LT/RT trigger rumble motors, Switch HD Rumble, and 6-axis gyroscopes use vendor-specific HID reports that web browsers do not expose to web pages.
Why does my controller show Xbox button labels even though I plugged in a third-party PC pad?
Most modern third-party PC controllers (from 8BitDo, GameSir, Razer, Logitech, and Flydigi) default to Microsoft’s XInput protocol on Windows so games recognize them automatically. Because XInput reports a standard Xbox-compatible descriptor to the OS, browsers identify the device under the Xbox profile unless you manually switch the visual model in the top bar.
Does passing every check on this page guarantee my controller will work in every PC or Mac game?
Passing all checks here confirms that your controller hardware, cable/Bluetooth link, and OS driver are delivering valid inputs to the browser. If a specific game still ignores your controller, the issue is almost always an API mismatch inside that game (for example, a Windows game expecting XInput while a PlayStation or Switch pad is connected via raw HID without Steam Input or DS4Windows translation).