Snaplytics JS Tests

Gamepad Tester

Test a gamepad or controller in the browser. Press any button to wake it, and every input shows up live — buttons, bumpers, triggers, sticks, and the D-pad. A dead button, a drifting stick, or a silent rumble motor appears in seconds.

Waiting for controller

Works with Xbox, PlayStation, Switch Pro, and most third-party controllers over USB or Bluetooth. If nothing appears, press a button — browsers hide idle controllers until you do.

Connect a controller over USB or Bluetooth, then press any button to wake it up.

Press to wake

Browsers hide idle controllers from websites until you press a button — a privacy rule, not a fault. One press and it appears here.

Reading drift

Let go of the sticks and watch the axis values. Near 0.00 is healthy; a resting stick clearly off zero is the drift you feel in games.

Rumble support

Browser rumble is patchy — Chrome and Edge with an Xbox pad work best. If inputs register but rumble stays silent, blame the browser before the motors.

Controllers wear out one input at a time: a stick starts drifting so your character creeps across the screen, a bumper registers every third press, a trigger stops reaching full pull. In a game you can never tell whether the fault is the controller, the game, or you. This tester shows exactly what your controller reports to the computer, nothing more — a quick check before buying or selling a used pad, after a drop or a spill, or when a game stops seeing inputs you are certain you pressed. It works with Xbox, PlayStation, Switch Pro, and most third-party controllers, the same way the Keyboard Tester and Mouse Tester check your other input devices — nothing to install, everything runs locally.

The test uses the browser’s Gamepad API, which polls the controller’s full state every frame — one value per button and per axis. Digital buttons read 0 or 1; analog triggers report everything in between, so you can watch a slow pull climb from 0.00 to 1.00. Each stick reports two axes from −1 to +1, with 0 at the centre. For privacy, browsers hide connected controllers from websites until you press a button — that first press is what makes yours appear here. The vibration buttons drive the rumble motors through the same API; most pads carry two, a heavy motor for deep rumble and a light one for sharper buzzes.

How to spot stick drift

Let go of both sticks and watch the axis readouts. A healthy stick rests near 0.00 on both axes; a few hundredths of offset is normal wear, and games hide it inside their dead zone. Drift is a resting stick that reports a clearly non-zero value, or one that wanders on its own. Games read that offset as a constant push, which is why a drifting camera or a creeping character follows you from game to game. The cause is the stick module itself — a worn or dirty potentiometer — not the games it ruins. Clean around the stick base with isopropyl alcohol and recalibrate in your system settings; if the offset survives that, the module needs replacing.

Controller not showing up?

The Gamepad API only reveals a controller after you interact with it, so a missing pad is usually a handshake problem, not a broken one:

  • Press a button — browsers hide idle controllers until you do.
  • Reseat the USB cable, or check that the controller is actually paired over Bluetooth, not just powered on.
  • Close software that claims the controller first: Steam, remapping tools like DS4Windows or reWASD, and remote-play apps.
  • Swap USB for Bluetooth (or the reverse), and try another port or cable.
  • Try Chrome or Edge — they have the most complete Gamepad API support.
  • Going quiet mid-test? Charge it or swap the batteries; many controllers sleep when idle.

Common controller faults

FaultWhat you see in this testFix
Stick driftAn untouched axis rests away from 0.00, or wanders on its ownClean around the stick base, recalibrate, or replace the stick module
Dead or unreliable buttonThe button never lights, or flickers on a single pressClean under the button; replace the contact membrane if it persists
Trigger not reaching full pullThe value tops out below 1.00 however hard you squeezeClean the trigger mechanism; a worn potentiometer needs replacing
No rumbleButtons and sticks work, but the vibration test stays stillCheck browser rumble support first, then suspect the motors or their connectors
Random disconnectsThe controller drops off the tester mid-useCharge or re-pair the controller; try a different cable or USB port

Related tools