Gamepad Tester

See every button and stick live to test a controller and check for drift.

Free online gamepad tester. Connect a controller and watch every button and analog stick respond live to check it works, find a sticky button or measure stick drift. Uses the browser Gamepad API — nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How do I test my game controller in the browser?

Connect the controller by USB or Bluetooth and press any button to wake it — browsers only report a gamepad after its first input. Every button and axis then updates live so you can confirm each one works.

Test any controller and check for stick drift

The Gamepad Tester reads the browser Gamepad API and shows every button and analog stick updating live, so you can confirm a controller works, hunt down a sticky or unresponsive button, or measure stick drift — all without installing anything.

Connect the controller by USB or Bluetooth and press any button to wake it; browsers deliberately hide a gamepad until it sends its first input. From then on, each button box lights up with a 0-to-1 pressure value (useful for analog triggers) and each axis shows its exact position.

Checking for stick drift

Stick drift is the most common controller fault. To check for it, let go of both sticks and watch the axis readouts:

  • A healthy stick rests at 0.000 (or within a tiny fraction) on each axis.
  • The centred dot sits exactly in the middle and does not wander on its own.
  • A stick with drift shows a persistent offset or a value that creeps while untouched.

Then push each stick to every edge to confirm it reaches full range and springs back to centre.

Diagnosing buttons and triggers

Press every face button, bumper, trigger and D-pad direction in turn. Analog triggers should sweep smoothly from 0 to 1 rather than jumping. A button that never lights up is unresponsive; one that stays lit after release is sticking.

The tester reads values only and uploads nothing — your inputs never leave the browser.