Controller drift is movement reported by an analog stick when you are not deliberately touching it. The visible symptom may be a camera that turns slowly, a character that walks on its own or a menu selection that refuses to stay still. Those symptoms are real, but they do not identify the cause by themselves. A small center offset, an aggressive in-game deadzone, old calibration, wireless interference and a second connected input can all produce confusingly similar behavior.
The useful question is not simply “does this controller drift?” It is: what signal reaches the browser while the controller rests, how repeatable is it, and does the same behavior survive a controlled change?
Prepare a clean test
Connect the controller directly when practical. If you normally play wirelessly, test that connection first, then keep a wired run as a comparison. Close games, controller remappers and calibration tools that may hold the device or transform its output. Place the controller on a stable surface and make sure neither stick rubs against a cable or rests under a finger.
Open the Stick Drift Test, press a controller button so the browser can expose the device, and verify that both live stick plots react. Slowly move each stick around its full edge once, release it and wait a moment. This confirms that the axes are mapped and gives the mechanism a chance to settle after movement.
Do not judge drift from one changing decimal. Analog controls are rarely mathematically motionless, and the browser reports samples from a chain that includes the controller, its firmware, the transport, the operating system and the browser.
Run the center sample
Start the five-second sample and do not touch the controller. The tool records a stream of X/Y pairs for the left and right sticks, then calculates the distance of each point from the mathematical center.
Keymap Labs reports an average distance and a maximum observed distance. The average helps describe the typical center position. The maximum can reveal a brief excursion, but it is also more sensitive to a bump or accidental movement. A result should therefore be read as a small distribution, not a pass/fail light.
Run the sample twice. Before the second run, move the stick in a circle and release it from a different direction. Mechanical wear can create a center that depends on the direction from which the stick returns. If two runs point in the same direction with similar values, the observation is more useful than one isolated peak.
Interpret percentages conservatively
There is no universal acceptable drift percentage. Games apply different deadzones, response curves and filtering. A competitive shooter configured with a tiny deadzone may reveal a center offset that is invisible in a racing game or action title with stronger filtering.
As a practical screening range, an average under roughly three percent is a tight browser-observed center for many devices. Three to eight percent deserves comparison and may require a modest deadzone. A repeatable result above eight percent is more likely to affect low-deadzone play. These ranges are not a warranty standard and are not proof of a particular physical failure.
Look at direction as well as size. A stable pull toward one side is different from a noisy cloud that changes direction. A large but momentary maximum with a low average may indicate a bump, a settling event or an intermittent contact. A consistent average offset is easier to compensate with a deadzone, although compensation reduces the usable range near the center.
Separate controller drift from game behavior
If the browser is centered but the game moves, inspect the game configuration. Confirm the selected input device, controller profile, stick layout, deadzone, gyro and accessibility options. Steam Input or a manufacturer utility may apply a different calibration to the game than the browser receives. Another connected controller can also send the movement.
If the browser shows an offset but the game feels normal, the game’s deadzone may already absorb it. That is not automatically a problem. The goal is reliable intentional control, not a perfect zero in every software layer.
If both the browser and game show repeatable movement, change one variable at a time:
- Reconnect the device and repeat the same sample.
- Compare wireless and wired modes if both exist.
- Try another current browser.
- Try another port and avoid an unpowered hub.
- Confirm the device in the operating system or manufacturer test utility.
This sequence helps distinguish a browser mapping issue from a broader device signal.
Choose a deadzone from evidence
Do not copy the single maximum reading directly into a deadzone field. That may hide slow intentional movement and make fine aiming feel heavy. Start slightly above a repeatable typical center offset, then test gentle input in every direction. Increase only enough to prevent uncommanded movement in the game.
Record the controller, connection, left/right result, game deadzone and date. A later sample can then show whether the behavior is stable or worsening. Without a baseline, normal variation can look like a sudden failure.
When repair or replacement is reasonable
Cleaning, recalibration and repair advice varies by controller design and may affect a warranty. Before opening hardware, confirm the problem across more than one environment and consult the manufacturer. Repair becomes a more reasonable path when a strong directional offset repeats after reconnecting, occurs in multiple applications and cannot be controlled without an unacceptably large deadzone.
The browser test is valuable because it creates a repeatable observation. It does not see internal wear, contamination or component geometry, so it cannot name the physical cause. Use it to improve the next decision—not to skip the confirmation step.
Quick checklist
- Place the controller down and remove all contact with the sticks.
- Confirm both axis plots respond before sampling.
- Run two five-second samples after approaching center from different directions.
- Compare average, maximum and direction—not only one number.
- Change one connection or software variable and repeat.
- Set only the smallest deadzone that restores stable play.
- Confirm elsewhere before repair, return or replacement.
For the raw axes and button map, use the Gamepad Tester. For the center distribution, use the Stick Drift Test. Both process the current session locally in your browser.