# Controller Tester (DualSense & Switch Pro)

> Read raw HID data from a DualSense or Switch Pro controller in Chrome: battery, stick drift, triggers, motion, touch, and rumble or light tests.

- URL: https://bytescope.dev/en/controller-test/
- Locale: en · Also: [ja](https://bytescope.dev/ja/controller-test.md) · [zh-Hant](https://bytescope.dev/zh-Hant/controller-test.md)
- Runs: Runs in your browser. Raw controller reports stay on this device, and the page never writes calibration to the controller.
- Requires: Chrome, Edge or Opera on desktop (WebHID). Not Firefox, Safari or mobile.
- Updated: 2026-09-08

## What it does

Gamepad Tester reads controllers through the browser's Gamepad API, which only shows values after the operating system has applied its dead zones and scaling. This page talks to the controller directly over WebHID. That exposes the raw stick numbers before any processing, the battery level, the firmware version numbers, gyroscope and accelerometer readings, the touchpad on a DualSense, and the calibration data stored in a Switch Pro controller.

This version supports two controllers: the DualSense (PS5) over USB and Bluetooth, and the Nintendo Switch Pro Controller over USB. For the Switch Pro, the page sends a few setup commands so the controller starts sending full reports, then reads its factory and user calibration from SPI flash without writing anything. The output tests send rumble, light bar, player LED and mic LED commands, but only when you press their buttons. None of them has been run on real hardware yet, and the Bluetooth output checksum is unverified.

The report layouts come from community reverse-engineering and the Linux kernel drivers, not from an official specification, so a firmware update can change them. Everything runs in your browser, and the page never writes calibration to the controller.

## Limits

Does not write calibration, update firmware or change any setting on the controller; it reads raw HID reports and only sends the rumble, light and player-LED tests you start.

## FAQ

### How is this different from Gamepad Tester?

Gamepad Tester uses the Gamepad API, so almost any controller works, but the values have already been processed by the operating system: dead zones are applied and the battery is hidden. This page reads the controller's own HID reports for two models, so you see raw stick values, battery levels and calibration, at the cost of supporting fewer controllers.

### Why doesn't Firefox work?

Firefox, Safari and mobile browsers do not implement WebHID, so they cannot open a controller at all. Use Chrome, Edge or Opera on a desktop computer. The page still loads everywhere and shows the support table.

### Can you calibrate my sticks?

No. Writing calibration can erase the factory values, and this page has no way to recover them. To recalibrate, use the calibration option on the PS5 console or the Nintendo Switch console, which can restore the defaults.

### Why is the battery only a range?

The DualSense reports its battery as one of about ten steps, not as an exact percentage. The page shows the range that step covers, such as about 60–70%, rather than a number it cannot know.

### Does it work with an Xbox controller?

Usually not. On Windows, Xbox controllers use XInput, which WebHID normally cannot reach; this has not been verified on every system. Use Gamepad Tester for Xbox controllers.
