About ControllerTester

A free workbench and wiki for anyone trying to figure out what is wrong with a game controller.

ControllerTester started with a simple annoyance: every time a controller started acting up, finding out what was actually wrong meant installing a driver, a launcher or a tool that wanted to write to the controller. Most of the time all you need is to see the raw numbers.

What the site does

The test bench reads your controller through the browser's Gamepad API and shows every stick, trigger and button as it changes. The tools build on that: a hold test for drift, edge tracing for circularity, a timed sweep for linearity, timing for update rate, and per motor rumble. For PlayStation controllers, WebHID adds battery level, light bar, player LEDs and motion sensors.

The guides cover what the numbers mean and what to do next. Each one links back to the test that shows whether a fix worked.

What it does not do

ControllerTester never writes calibration, firmware or settings to a controller. The calibration wizard builds a correction profile in your browser, and the light bar and rumble controls send the same temporary commands a game would.

A browser can only see what the operating system passes to it. Chromium based browsers read controllers about every 4 ms, so timing results above roughly 250 Hz cannot be observed from a web page. Where a measurement has a limit like this, the tool says so next to the result.

How we write guides

Every guide is written for this site. Technical claims link to their source: manufacturer support pages, the Linux kernel and SDL source for report formats, and project pages for open source tools. If you find a mistake, tell us.