Precision Hardware Diagnostics, Redesigned for the Web
JoystickTester.com is an independent, browser-based controller diagnostics platform designed to give players and technicians clear, real-time input readings without installing desktop software or browser extensions.
Why We Built JoystickTester.com
Checking whether a controller has analog stick drift, an unresponsive face button, or a worn trigger shouldn't require downloading third-party executables or navigating cluttered pages with broken layouts. Whether you are inspecting resting stick offset on an Xbox controller, checking full trigger saturation on a PS5 DualSense, or comparing radial deadzone thresholds before tuning in-game settings, JoystickTester.com provides direct, 3-decimal floating-point telemetry right in your browser tab.
How Browser-Based Gamepad API Diagnostics Work
All diagnostic tools on JoystickTester.com read controller state through the standard HTML5 W3C Gamepad API (navigator.getGamepads()) and the GamepadHapticActuator interface, synchronized with your browser's requestAnimationFrame loop:
- Normalized Axis & Button Telemetry: Browsers receive raw HID or XInput reports from your operating system driver and normalize analog stick coordinates to
[-1.000, +1.000]and analog trigger values to[0.000, 1.000]. - Radial Magnitude & Deadzone Math: Stick deflection and resting offset are calculated using the 2D Euclidean formula
√(X² + Y²), allowing you to compare resting center offset against adjustable radial deadzone thresholds. - 60-Frame Zero-Point Sampling & 72-Sector Circularity: Our calibration diagnostic records 60 consecutive animation frames (~1 second at 60fps) to evaluate resting stability and outer range saturation, while our joystick circularity trace divides the 360° perimeter into 72 angular sectors (5° each) to measure average and peak radial deviation from a radius of
1.000. - Browser Sandbox Boundaries: Web browsers operate in a strictly read-only hardware sandbox (aside from temporary vibration motor commands). Browser diagnostics cannot read raw USB voltage, measure true hardware USB polling rate independent of the browser rendering loop, or write calibration changes to controller firmware or operating system driver registries.
Verification Methodology: Software vs. Physical Testing
We believe in complete transparency about how our diagnostic tools and reference guides are built and verified:
- Automated Software Verification: Core diagnostic calculations—including radial deadzone scaling, 60-frame resting zero-point sampling, 72-sector circularity deviation math, standard vs. non-standard HID fallback handling, and multi-controller slot indexing—are verified using an automated unit test suite against deterministic W3C Gamepad API state snapshots.
- Local Physical Hardware Testing (Scope & Limits): A physical Xbox controller on Windows was used during local development to test core diagnostic readings, resting calibration sampling, and deadzone threshold behavior. This local testing does not constitute comprehensive physical validation across all controller brands, operating systems (such as macOS, Linux, iOS, or Android), or features, and simultaneous testing with 2–4 physical controllers remains pending.
- Specification-Based Hardware Profiles & OS Driver Boundaries: Device profiles for PlayStation (DualSense and DualShock 4), Xbox (Series X|S, Xbox One, and Elite), Nintendo Switch (Pro Controller and Joy-Con), and PC controllers (XInput and DirectInput) are implemented from the W3C Standard Gamepad specification, Microsoft XInput documentation, and Linux kernel HID driver documentation (
hid-playstation,hid-sony, andhid-nintendo). While kernel HID documentation provides open reference data for USB Vendor/Product IDs and hardware report structures, web browsers on Windows, macOS, and Linux only expose the subset of button, axis, and dual-rumble properties supported by each operating system's driver and the W3C Gamepad API.
100% Client-Side Execution & Privacy
JoystickTester.com processes all joystick coordinate math, button state checks, circularity traces, and haptic vibration triggers locally inside your browser's JavaScript runtime.
Your controller input vectors, button press timings, and USB Vendor/Product IDs are rendered purely on your screen and are never transmitted to or stored on our servers. For details on standard web hosting logs, cookies, and analytics, please review our Privacy Policy.
Publisher Transparency & Open Contact
JoystickTester.com is an independent web software project. We are not owned by, affiliated with, or sponsored by Sony Interactive Entertainment, Microsoft Corporation, Nintendo, or any third-party controller manufacturer. All product names and trademarks referenced on this site belong to their respective owners and are used solely to document controller compatibility and button mappings.
Found an unmapped controller ID, spotted a technical inaccuracy, or want to suggest a diagnostic feature? Reach out anytime at support@joysticktester.com or send a report through our Contact & Support page.