You connected your controller to a browser tester and got a screen full of numbers. Axis values that never quite hit zero. Buttons labelled with indices instead of names. A Y axis that goes negative when you push up. It's not obvious what any of it means, and it's easy to look at a reading of -0.02 and assume something's broken.
Most of what you're seeing is completely normal, and once you know how to read it, a gamepad tester becomes the fastest way to diagnose a controller. Here's what every number means.
Where the numbers come from
Browser-based testers read your controller through the Gamepad API, a web standard that reports the raw state of every input. That's the key thing to understand: you're seeing your controller's actual reported state, with no game applying its own deadzone, sensitivity, or filtering on top.
That's exactly why testing in a browser is more useful for diagnosis than testing in a game. A game might hide a small problem behind its deadzone, or exaggerate one with an aggressive response curve. The browser shows you the truth.
It also means the API is read-only. A tester can show you what your controller is doing, but it can't change mappings or fix anything, which is why diagnosis and repair are separate steps.
Axis values: -1.00 to 1.00
Your analog sticks report position as decimal numbers between -1.00 and 1.00, with 0.00 meaning centred.
On a controller using the standard mapping, there are four axes, two per stick:
Axis 0 is the left stick's horizontal position. -1.00 is fully left, 1.00 is fully right. Axis 1 is the left stick's vertical position. Axis 2 is the right stick's horizontal position. Axis 3 is the right stick's vertical position.
Why up is negative
This confuses almost everyone the first time. On the vertical axes, -1.00 means up and 1.00 means down. Push the stick forward and the number goes negative.
That's not a bug or a sign your controller is inverted. It's the specification: the standard defines -1 as corresponding to "forward" or "left," and 1 as "backward" or "right." It follows screen coordinate conventions, where the vertical axis increases downward, which feels backwards if you're thinking in terms of a joystick pointing up.
So if you push up and see -0.98, everything is working correctly.
Why values never read exactly 0.00
Let go of the stick and you'll probably see something like 0.01 or -0.02 rather than a clean zero. That's normal.
Every analog stick produces a small amount of electrical noise, and mechanical parts don't return to a mathematically perfect centre. Small non-zero values at rest are expected on healthy controllers, which is precisely why games apply a deadzone: a small zone around centre where input is ignored, so that noise doesn't move your character.
The question isn't whether the value is exactly zero. It's how far from zero it sits, and whether it stays put. A small, stable offset is fine. A large offset, or a value that wanders on its own while you're not touching the stick, is drift. Our deadzone test is built around reading exactly this, and it shows you the resting value you'd use to set your in-game deadzone properly.
Button numbers: why A is "0"
Testers label buttons with index numbers rather than names, because the API identifies them positionally. On a controller reporting the standard mapping, the indices are consistent:
0, 1, 2, 3 are the right-hand face buttons: A, B, X, Y on Xbox, or Cross, Circle, Square, Triangle on PlayStation. 4 and 5 are the left and right bumpers (LB/RB or L1/R1). 6 and 7 are the left and right triggers (LT/RT or L2/R2). 8 and 9 are the View/Back and Menu/Start buttons (Share and Options on PlayStation). 10 and 11 are the left and right stick clicks (L3 and R3). 12, 13, 14, 15 are the D-pad: up, down, left, right in that order. 16 is the central Guide, Xbox, or PS button.
So if you press A and see "button 0 pressed," that's correct. Our button test shows these live, and the fastest way to learn your controller's layout is simply to press each button and watch which index lights up.
When the indices don't match
Sometimes the numbers won't line up with the list above, and there are legitimate reasons.
Testers usually report whether your controller uses the standard mapping or not. If it does, the indices above apply. If it reports a non-standard mapping, all bets are off, because manufacturers are free to define their own button order. The same physical button on a PlayStation controller might be index 0 with one driver and index 1 with another.
This is also why remapping tools change what you see. Software like DS4Windows presents your controller to the system as an Xbox controller, which conforms it to the standard mapping. That's intended behaviour rather than a fault, and it's often the reason a controller's indices suddenly look "correct" after installing such a tool.
Buttons have three separate readings
A single button reports more than just pressed or not pressed, and testers often show all three.
Pressed is a simple true or false: is the button currently down?
Value is a number from 0 to 1 describing how far it's pressed. For ordinary buttons this is just 0 or 1, but for analog triggers it's the whole range in between.
Touched indicates whether the button is being touched without being fully pressed. Not all controllers support this, so it frequently stays false.
Trigger values, and why they vary
Triggers are the most inconsistent readings you'll encounter, and it's worth knowing why before you conclude something's wrong.
Under the standard mapping, triggers appear as buttons 6 and 7 with an analog value from 0.00 (released) to 1.00 (fully pressed). Pull a trigger slowly and you should see the value climb smoothly through the full range and return cleanly to 0.00.
But this depends on the driver mode. In XInput mode, triggers behave as described. In DirectInput mode, the same triggers may appear as axes instead of buttons, sometimes with a different range. Some older controllers even report their D-pad as axes rather than as buttons 12 to 15.
None of this indicates a fault. It reflects how your controller is presenting itself to the system, and it's why the same controller can produce different-looking results depending on connection type, driver, or whether remapping software is running.
What matters diagnostically is behaviour rather than which slot it appears in. A trigger should move smoothly through its range, reach full deflection, and return to zero. A trigger test shows this clearly, and a trigger that reads a non-zero value at rest, or can't reach 1.00, has a real problem regardless of how it's mapped.
Other readings you might see
Controller ID string. A text identifier reported by the device, often including vendor and product codes. Useful for confirming your system recognises the controller as the model you actually own, which matters when troubleshooting third-party pads.
Timestamp. Updates each time the controller sends new input data. Testers sometimes use this to estimate how frequently your controller is reporting.
Polling rate or Hz. How often the controller sends updates. Note that browser-derived figures are estimates rather than lab measurements, and they're affected by your connection type and browser. For a considered look at what polling actually contributes, our controller testing guide covers the broader context.
Connection status. Whether the controller is currently connected.
Reading the numbers as a diagnosis
Pulling it together, here's what actually indicates a problem.
Sticks resting slightly off zero: normal. Every controller does this.
Sticks resting well off zero, or wandering while untouched: drift, caused by internal wear. The value tells you how severe, and it's the number to set your in-game deadzone above.
A button showing as pressed when you're not touching it: a stuck button or contamination bridging its contacts, usually fixable with cleaning.
A button that doesn't register at all: a worn contact or a cracked solder joint.
A trigger reading non-zero at rest, or not reaching 1.00: debris, a worn return spring, or a mechanical problem.
A stick that can't reach -1.00 or 1.00 in some direction: range wear, which affects how quickly you reach maximum input in games.
Nothing registering at all: a connection problem rather than a hardware fault. Try a different cable, since many USB-C cables carry power but no data, and check the browser, since support varies.
A few testing tips
Test wired where possible. A USB connection gives the cleanest baseline, and it eliminates wireless interference that can make readings look erratic.
Use a Chromium browser (Chrome, Edge) or Firefox. Safari's gamepad support is more limited, particularly for vibration testing, so a blank result there may be the browser rather than your controller.
Press a button first. Browsers typically don't expose a gamepad until it sends input, so if nothing appears, press something.
Retest after changing anything. Connection type, firmware updates, Steam Input, and remapping software can all change what the browser sees, so compare like with like.
And write your resting values down. A baseline recorded while your controller is healthy is what lets you spot drift early, and it's the only reliable way to tell whether a repair actually worked rather than whether the controller merely feels better.
The short version
Axis values run from -1.00 to 1.00 with 0.00 as centre, and the vertical axes are inverted by design, so up reads negative. Sticks never rest at exactly zero because of normal sensor noise, and what matters is how far off they sit and whether they stay put. Buttons are numbered by position rather than name, with 0 to 3 as the face buttons, 4 to 7 as bumpers and triggers, 12 to 15 as the D-pad, and 16 as the guide button, provided your controller reports the standard mapping. Trigger and D-pad readings vary by driver mode without indicating a fault. Judge health by behaviour: smooth full-range movement, clean returns to zero, and every button registering when pressed and releasing when let go.
Frequently Asked Questions
Q: Why does my controller show -1 when I push up?
Q: Why don't my sticks read exactly 0.00 when I let go?
Q: What do the button numbers mean on a gamepad tester?
Q: Why are my button numbers different from the standard layout?
Q: What tester readings actually mean my controller is broken?
Free Online Gamepad Tester
Test your controller for drift, deadzones, and input lag â no download required.
Launch Tester â