Skip to content

Gamepad tester

Press every button, work the sticks, and measure drift at rest. Works with Xbox, PlayStation, Switch Pro and generic PC controllers.

Connect your controller and press any button

The browser will not reveal a gamepad until you interact with it. That is a privacy measure: it stops a page identifying you by your hardware without you doing anything.

Generated right here, in your browser. What you type never leaves your device.

This tester reads your controller through the browser’s gamepad API. It shows every button as you press it, the exact position of both sticks, the analogue value of the triggers, and whether the controller exposes vibration.

Beyond "does it respond" there are three measurements that actually matter: drift at rest, the fault that ruins more controllers than any other; the deadzone, which explains why aiming feels imprecise; and the polling rate, which is how many times a second the controller reports its state.

Nothing leaves your machine. The page reads the controller state and draws it; nothing is sent to a server. And the browser will not even admit a controller is connected until you press a button, which is a defence against hardware fingerprinting.

Manual

How to use it

  1. 1

    Connect the controller and press a button

    Wired or Bluetooth, either works. Until you press something the browser pretends no controller exists: that is a privacy measure, not a fault.

  2. 2

    Work through every button

    Ones that respond stay marked, so you can go through them without watching the screen. Triggers also show a percentage: it should climb smoothly from 0 to 100, not jump.

  3. 3

    Draw circles with the sticks

    Push them to the edge in every direction. The dot should reach the rim all the way round. Falling short in one area means the sensor is worn on that side.

  4. 4

    Measure the drift

    Let go of the sticks completely, do not touch them, and press the measure button. For five seconds it records how much the controller moves **on its own**. On a healthy pad, essentially nothing.

  5. 5

    Test the vibration

    If the browser exposes the motors, the button runs them for a second. Its absence does not mean your controller cannot vibrate — it means this browser gives no access.

In depth

Things worth keeping in mind

What drift is, and why so many controllers get it

Most sticks use potentiometers: a resistive track and a contact that wipes along it. Moving the stick slides the contact and the resistance changes. It is cheap and precise, and it has one problem — it is a part rubbing against another part, so it wears.

With use the track scratches and dust gets in. The contact starts reading a value that does not match the real position, and the controller reports movement while the stick sits still. That is drift. Software cannot fix it: calibration only moves the point the system treats as centre, and the noise is still there.

  • Under 2% deviation: normal, no game notices
  • Between 2% and 8%: noticeable while aiming, and it gets worse
  • Above 8%: the character moves on its own; the module needs replacing

Hall effect sticks

The alternative measures a magnetic field instead of a contact: a magnet at the base of the stick and a sensor detecting which way it tilts. With nothing rubbing against anything, there is no wear to produce drift.

They have gone from an arcade-stick curiosity to a drop-in replacement part for mainstream controllers. If yours already drifts and the model allows it, swapping the module for a Hall one solves the problem permanently rather than postponing it.

  • No physical contact: they do not develop drift through wear
  • Available as replacements for PlayStation, Xbox and Switch controllers
  • Magnetic sensors may need calibrating once after fitting

Deadzone: why aiming feels odd

The deadzone is the margin around centre where the controller reports zero even though the stick has moved a little. It exists precisely to hide small drift: if the manufacturer ignores the first 8% of travel, a slightly noisy controller looks perfect.

You pay for it while aiming. A fine stick movement produces nothing on screen until you leave that zone, and then the movement arrives all at once. That feeling of overshooting on small corrections is deadzone, not bad aim.

Standard mapping

The browser tries to translate every controller onto a common layout: sixteen buttons and four axes in fixed positions. When it succeeds, button 0 is always the bottom of the diamond — A on Xbox, ✕ on PlayStation — whoever made the pad.

With unusual controllers, wheels or old adapters, the browser cannot recognise the layout and reports it as non-standard. The buttons still work and their values are right; the only thing that stops being reliable is the name it puts on them.

History

From the D-pad to the analogue stick

The cross-shaped D-pad we still use was designed by Gunpei Yokoi at Nintendo for the Game & Watch handhelds of 1982, reaching the NES controller in 1983. Before it, games used arcade-style sticks that were expensive and bulky; that flat cross allowed a thin, cheap controller, and it fixed the shape of controllers for a decade.

The move to analogue came from needing to move in three dimensions. The Nintendo 64 shipped with an analogue stick in 1996, and Sony answered in 1997 with the Dual Analog, which already carried both sticks, and months later with the DualShock, which added vibration. That two-stick arrangement is still standard almost thirty years later.

Analogue triggers arrived with the Dreamcast in 1998 and were cemented by the original Xbox. They allowed what a button cannot: accelerating gradually, squeezing halfway.

Drift became a public issue with the Switch Joy-Con from 2017 onward, ending in class action lawsuits. The fault was not new — potentiometers have always worn — but the tiny size of those modules and the hours put through them made it visible at a scale no earlier controller had reached.

1983
D-pad on the NES controller
1996
First analogue stick
125 Hz
Typical USB polling
17
Buttons in standard mapping
How it works

From your thumb to the browser

A controller does not announce events. The opposite: the computer asks it many times a second "what state are you in now?", and the controller answers with a packet describing everything at once. That rhythm of asking is the polling rate.

A typical USB controller answers at about 125 Hz, once every 8 milliseconds. Competition models reach 1000 Hz. Over Bluetooth it usually drops, and that is one reason a wireless pad feels fractionally slower even when the difference is milliseconds.

Ordinary buttons are digital: a contact either closed or open, one bit each in the packet. The triggers on modern controllers are analogue, with their own position sensor, which is why the browser reports a value between 0 and 1 rather than pressed or not.

Sticks send two numbers each, one per axis, normalised between -1 and 1. The browser does not hand you the raw sensor reading: it applies the system deadzone and sometimes a calibration. That is why a stick sitting still can report exactly 0.000 even when it is physically a little off centre.

The gamepad API fires no event per button. It exposes a snapshot of the state, and the page has to read it every frame. This tester does that sixty times a second, and everything else follows from it — including the real polling rate, deduced from how often the controller’s timestamp changes.

By hand

Diagnosing a stick with no software at all

Before buying a replacement it pays to know whether the problem is the stick, the whole controller, or the computer. You can narrow it down in a few minutes.

  1. 1

    Plug it into another computer or a console. If the drift travels with the controller, it is hardware. If it disappears, the problem was configuration on the first machine.

  2. 2

    Measure both sticks independently with this test. If only one drifts, it is that module. If both drift equally, suspect calibration before hardware.

  3. 3

    On Windows, search for "Set up USB game controllers" and run the calibration wizard. It will not fix a worn track, but it does fix a badly learned centre, which is easily mistaken for drift.

  4. 4

    A little isopropyl alcohol at the seam while rotating the stick can carry dust off the contact. It works sometimes and does not last long, but it costs nothing and rules dirt out.

  5. 5

    Write the deviation percentage down before and after. It is the only way to know whether something actually changed or merely seems to have.

Diagnosis

If something is not working

Symptom:The browser does not detect my controller

Likely cause:
It stays hidden until a button is pressed, and some controllers need a particular mode before they appear as a gamepad at all.
What to do:
Press several buttons, triggers included. If it still does not appear, try another USB port and another cable — plenty of charging cables carry no data. For PlayStation controllers over Bluetooth, pair from the system before opening the page.

Symptom:My character moves on its own when I touch nothing

Likely cause:
Drift: the stick reports movement at rest, almost always from a worn potentiometer.
What to do:
Measure it first with the drift button so you have a number. Try recalibrating in the system, which fixes a badly learned centre. If deviation exceeds 8%, the module is worn out: replacing it with a Hall effect one solves it permanently.

Symptom:A trigger jumps from 0 to 100 with nothing in between

Likely cause:
Either the controller has digital triggers, or the analogue sensor has failed and only reports the extremes.
What to do:
Check whether your model has analogue triggers: modern console pads do, many cheap generic ones do not. If it should and does not, the sensor has failed. Watch out too for controllers with a switch that puts the triggers into digital mode.

Symptom:Buttons respond but the names are wrong

Likely cause:
The browser cannot recognise the layout and reports non-standard mapping.
What to do:
There is nothing to fix on the controller: the indices and values are correct, only the label is a guess. Games let you rebind. An adapter with XInput support usually sorts the mapping out on Windows.

Symptom:The stick will not reach the edge in one direction

Likely cause:
The sensor has lost travel on that side, or the housing ring is catching and holding the stick back.
What to do:
Take the rubber cap off and see whether it improves: sometimes it is the cap itself catching. If travel is still short, the module is worn. Some games let you raise sensitivity, which masks it without fixing it.

Symptom:No vibration button appears

Likely cause:
This browser does not expose the motors, or the controller does not offer them over the current connection.
What to do:
Try Chrome or Edge, which support gamepad vibration best. And try wired: several controllers expose vibration over USB but not over Bluetooth.
Trivia

Things worth knowing

Button 0 is not always where you expect

In standard mapping button 0 is the bottom of the diamond: A on Xbox, ✕ on PlayStation. But Nintendo places A and B the opposite way round physically, so the same logical button sits somewhere else if you came from the other platform.

The browser hides your controller on purpose

Until you press a button, a page cannot see that a controller is connected. It is an anti-tracking defence: your list of devices is fairly unique and would help identify you without cookies.

Vibration is called "dual-rumble" for a reason

Nearly every controller carries two motors with off-centre weights of different sizes: a large one for heavy thuds and a small one for fine buzzes. The API asks for an intensity for each separately.

The DualSense exposes more than the browser uses

Its adaptive triggers can push back with variable resistance, and it has a speaker and a touchpad. The standard gamepad API reaches none of that: it sees buttons, axes and vibration.

More polling hertz is not always better

Above your display’s refresh rate, the extra samples are discarded before anything is drawn. A 1000 Hz controller on a 60 Hz monitor buys consistency, not a proportional advantage.

Questions

Frequently asked questions

Why do I have to press a button before it appears?

Because the browser hides connected controllers until you interact with one. A person’s list of devices is fairly unique and could identify them without cookies, so browsers require a deliberate gesture before revealing it.

Does it work with Xbox, PlayStation and Switch controllers?

Yes, and with generic PC pads, wheels and flight sticks too. For the big three the browser applies standard mapping and the names come out right; for the rest it may report non-standard mapping, in which case the values are still valid even though the labels may not match.

How much drift is normal?

Under 2% deviation at rest is normal and no game notices. Between 2% and 8% is noticeable while aiming and usually worsens. Above 8% the character moves on its own and the module needs replacing.

Can drift be fixed without opening the controller?

Sometimes. Recalibrating in the system corrects a badly learned centre, which is often mistaken for real drift. Cleaning the base with isopropyl alcohol can carry dust off the contact. But if the resistive track is worn, neither lasts: only replacing the module resolves it.

Does it work over Bluetooth?

Yes, as long as the system has already paired the controller. Bear in mind the polling rate is usually lower over Bluetooth than wired, and some controllers do not expose vibration wirelessly.

Does this test send any data about my controller?

No. Everything is read and drawn in your browser; nothing is sent to a server and nothing is stored. Closing the tab leaves no trace.

Related tools

Updated