Skip to main content

Gamepad Tester

Controller Calibration Tool

Calibration is three small pieces of arithmetic. Where your sticks actually rest, how far they actually travel, and how much of the bottom of that travel you need to throw away to stop the noise reaching your game. Every controller has its own answers to those three questions, and almost nobody knows theirs. This tool walks you through measuring all of them in about ninety seconds, then shows you the corrected stick sitting next to the raw one so you can see exactly what the numbers are doing before you take them anywhere.

Build Your Calibration Profile

Setup

Sticks and triggers
Sticks only
Automatic sizes it to the widest reading your sticks produced while resting, plus a small margin.
Applied as a circle around centre, with everything outside it stretched back out to fill the full range.
Curves are taste rather than calibration. Leave this linear for your first profile.
Triggers that rest at minus one instead of zero are normal, and the profile handles them.
Controller: none detected
Triggers from: nothing yet
Status: idle

Raw against calibrated

Resting pointwaiting
Full travelwaiting
Triggerswaiting
Check itwaiting
Ready Connect a controller, press any button on it, then press Start calibration.
left raw0.00, 0.00
left calibrated0.00, 0.00
right raw0.00, 0.00
right calibrated0.00, 0.00

The blue dot is what your controller is sending. The black dot is what your games would receive with this profile applied. The dashed ring is the deadzone and the dashed diamond is the travel you actually reached.

Results

resting offset--
largest correction--
deadzone in profile--
reach restored--
No profile yet. Press Start calibration and follow the four steps.

Stick corrections

Each axis is corrected at both ends separately, because a stick that reaches 0.99 one way and 0.88 the other needs two different numbers rather than one.

Trigger corrections

Triggers get the same treatment. The tool learns where yours actually rest and where they actually bottom out, then maps that span onto a clean zero to one.

Notes about your profile appear here once the first step finishes.

Your profile

The JSON holds every number in a form you can paste into your own script or profile. The plain text version is the one to attach to a warranty claim.

How To Run It Properly

  1. Plug the controller in with a cable if you have one. A wireless link that drops a packet at the wrong moment will hand you a measurement that is quietly wrong, and you will build a profile on top of it.
  2. Press any button on the pad. Browsers keep controllers hidden until they see one input, so nothing will appear until you do.
  3. Press Start calibration, then put the controller flat on a desk and take your hands off it for three seconds. This is the resting measurement, and holding the pad adds your own tremor to it.
  4. When the tool asks for full travel, push each stick into all four edges in turn. Push until the stick physically stops against the housing rather than until it feels far enough. That gap is the single biggest source of a bad profile.
  5. Pull each trigger all the way to the bottom, then release it fully. Do it twice so the tool sees a clean rest value as well as a clean full value.
  6. In the last step, move both sticks around slowly and watch the two dots. The blue one is raw, the black one is calibrated. If the black dot reaches the outer ring in every direction while the blue one falls short, the profile is doing its job.
  7. Save the profile. Numbers from today are worth far more in six months when you have something to compare them against.

If the resting step reports a large offset before you have touched anything, that is drift rather than a calibration problem, and the stick drift test is the page that measures it properly.

What This Tool Can And Cannot Do

Worth being straight about this before you spend two minutes on it, because a lot of pages promising controller calibration are vague on the point.

A web page cannot write anything to your controller. There is no browser interface for changing firmware, adjusting the calibration a console stores internally, or altering what your operating system hands to games. Anyone claiming otherwise is either mistaken or selling something.

What this page does is measure your controller precisely and turn those measurements into a profile. The profile is a set of numbers. Where centre really is, how far each direction really travels, how much of the bottom needs discarding, and what your triggers actually span. Those numbers are the hard part, and they are the part nobody has.

Once you have them, applying them is the easy part, and there are several places you can do it. Windows has a built in calibration wizard. Steam Input has deadzone and range settings on every controller it touches. DS4Windows, reWASD and most vendor apps expose the same controls. Consoles handle some of it themselves. The section further down covers where to put your numbers depending on what you play on.

The live preview matters more than it looks. Before you type a deadzone into a game menu, you get to watch what that deadzone actually does to your stick. That is not a small thing, because most people set deadzones blind and then guess at whether it helped.

What Calibration Actually Corrects

Four separate things, which get bundled under one word and confuse everybody.

Centre offset

Where your stick sits when nothing is touching it. It should report zero. Plenty of controllers report 0.03 or 0.06 instead, and everything downstream is built on that wrong number. Correcting it means subtracting the resting value from everything the stick sends, so zero means zero again. This is the single most useful correction on an older controller, and it is the one games almost never let you set.

Range scaling

How far the stick travels before it stops. Games assume you reach 1.00 when you push all the way. If your stick tops out at 0.90, you never reach full walk speed, full steering lock or maximum turn rate, and nothing on screen tells you. Scaling multiplies your output so the edge of your real travel reports as a full 1.00 again.

Deadzone

A circle around centre inside which everything reads as zero. It exists to swallow noise and small offsets so your character stops wandering while you are not touching anything. Set it too small and the noise gets through. Set it too large and you lose fine control over a large chunk of your stick. The joystick deadzone test goes deeper into where that line sits.

Response curve

How the middle of your travel maps to the middle of your output. This is not calibration at all, it is preference, and it is included here only because it lives next to the other three in every settings menu. A curve makes small movements smaller and large movements unchanged. It fixes nothing and it is not meant to. Leave it linear until your profile is settled, then experiment separately.

The order matters, and it is the order this tool applies them. Offset first, because everything else is measured relative to centre. Then scaling, because the deadzone needs to be a fraction of your real range rather than a theoretical one. Then the deadzone. Then the curve last, on a value that is already clean. Applying them in a different order gives you different results, which is one reason two tools can disagree about the same controller.

Where Your Numbers Actually Have To Go

The profile is portable. Where you apply it depends entirely on what you play on.

Windows

Run joy.cpl from the Start menu, pick your controller, open Properties and use the calibration wizard. It asks you to leave the sticks alone and then to move them to their extremes, which is the same two measurements this page just took. Doing it here first tells you what the wizard should end up with, so you can tell whether it worked.

Steam Input

The most flexible option on PC and the one worth learning if you play through Steam at all. Open the controller settings for a game, find the stick you want to adjust, and you will find deadzone type, deadzone size and an anti deadzone control. Anti deadzone is the one people miss, and it is how you apply the range scaling from this profile without touching anything else.

Vendor and remapping software

DS4Windows, reWASD and the official Xbox and DualSense apps all expose deadzone and range settings, and several of them can store a curve as well. If one of these is already running, be aware that it is sitting between your controller and this page. Close it and calibrate again if the numbers look strange, and use the controller mapping tool to confirm what is actually arriving before you conclude anything.

Consoles

PlayStation and Xbox both recalibrate internally rather than exposing controls, and neither gives you a numeric field to type into. Your profile is still useful there, because it tells you whether the controller has a real problem before you start hunting through menus, and because it gives you concrete numbers to quote when you contact support.

In game settings

Most games offer a deadzone slider and nothing else. The deadzone from this profile goes straight into it. If a game offers a sensitivity or response curve as well, set those after the deadzone rather than before, and change one thing at a time.

Calibration Is Not A Repair

This is the part worth reading twice, because calibration gets recommended as a fix for problems it cannot fix.

Calibration corrects consistent errors. A stick that always rests at 0.04 can be corrected, because the error is the same every time and subtracting it works. A stick that always tops out at 0.91 can be corrected, because the shortfall is predictable and multiplying works.

It does nothing at all for errors that change from moment to moment. A stick that rests at 0.04 now and 0.09 in ten minutes cannot be corrected, because whatever you subtract will be wrong half the time. A stick that hisses while you hold it still cannot be calibrated quiet, because the noise is not a fixed error, and correcting the average leaves the wandering exactly where it was.

So the honest sequence is to find out which kind of problem you have before you build a profile on top of it. If the resting step here reports a different offset every time you run it, that is not a calibration job. If the reading moves while your thumb does not, calibration will not touch it either. A profile built on an unstable measurement is worse than no profile, because it adds a second wrong number on top of the first one.

When calibration is not the answer, the mechanical fixes are. Cleaning, contact treatment and module replacement all live in the controller drift repair guide, and a surprising share of controllers that seem to need calibration actually just need the debris blown out of the housing.

Reading Your Profile Numbers

Resting offset

How far from zero your stick sits untouched, as a distance rather than per axis. Under 0.02 is a healthy stick and the correction is barely doing anything. Between 0.02 and 0.06 is normal wear and the correction is genuinely worth having. Above 0.08 is a stick with a real problem, and correcting it in software is a workaround rather than a solution.

Largest correction

The biggest multiplier the profile applies to any single direction. A value of 1.02 means one direction was 2 percent short. A value of 1.15 means one direction was reaching only 87 percent of full travel, which is enough to change how the controller feels. Anything above about 1.20 is worth investigating mechanically before you accept it, because a large shortfall in one direction only is usually debris in the gate rather than general wear.

Deadzone in profile

The circle around centre the profile discards. On a quiet controller this lands somewhere near 0.03. On a noisy or drifting one it can be twice that or worse, and the cost is real. A 0.12 deadzone means the first 12 percent of every stick movement does nothing at all, which is exactly the part you use for slow precise aiming.

Reach restored

How much travel the scaling gives back, expressed against the shortest direction you measured. This is the number to quote when somebody asks whether calibration is worth bothering with, because it is the part you can actually feel. Getting back 9 percent of your travel in one direction changes how a car turns and how fast you can spin.

Symmetry

Shown per axis in the table. It is the gap between the two ends of the same axis, and it is a specific fault rather than general wear. A stick that reaches 0.99 left and 0.87 right has one side of a sensor track degrading while the other has not, and asymmetric wear tends to accelerate rather than level off. Worth a note in your report so you can compare in a few months.

When Calibration Helps And When It Hides Something

What you are seeingWill calibration helpWhat to do instead
Character walks slowly on its own Yes, if the resting offset is the same every run Apply the offset correction and the deadzone. Confirm the offset is stable by running the resting step three times.
Cannot reach full sprint or full steering lock Yes, this is exactly what range scaling is for Apply the scaling. Blow compressed air around the stick base first in case the gate is obstructed.
Aim creeps during slow tracking Partly, and it depends which one you have A fixed creep is offset and correctable. A wandering creep is noise, and a larger deadzone hides it at the cost of precision.
Diagonals feel wrong or pulled to one side Often yes Uneven range between the two axes drags every diagonal toward whichever axis reaches further. The scaling in this profile evens them out.
Stick overshoots when you let go No That is mechanical overshoot from the spring and the damping. No amount of arithmetic removes it, and a deadzone only masks how far it travels.
Reading jumps occasionally then settles No That is usually the link rather than the stick, so check it with the connection stability test before touching any settings.
Offset is different every time you measure No, and applying it will make things worse An unstable centre cannot be corrected with a fixed number. Clean the stick, then measure again from cold.
Trigger registers before you touch it Yes The trigger rest point in this profile removes that dead travel. The trigger pressure test tells you whether the travel between rest and full is smooth as well as correctly bounded.

Why Two Controllers Never Agree

Run this on three pads and you will get three different profiles, even on three identical models bought on the same day. That is expected rather than alarming, and understanding why saves you from chasing a number that does not exist.

Analog sticks are manufactured to a tolerance, not to a value. Two potentiometers from the same batch differ slightly in resistance, two housings differ slightly in where they stop the stick, and two boards differ slightly in reference voltage. Then firmware normalises all of that, differently for each manufacturer, and the operating system driver normalises it again on the way through.

The consequence worth remembering is that the absolute numbers matter much less than the comparisons. Left against right on the same stick is meaningful. This controller today against the same controller in six months is meaningful. Your controller against a number you read in a forum post is not meaningful at all, and people waste a lot of time on exactly that comparison.

It also means a fresh controller that reads 0.96 in one direction is not necessarily faulty. It might simply be a part sitting at one end of its tolerance. What tells you something is wrong is a number that changes over time, or two ends of the same axis that disagree with each other.

Method And Honest Limits

What the numbers are measured against

The value your browser receives has already passed through the controller firmware and the operating system driver, and both of them normalise it. A reading of 1.00 means the reported value has saturated rather than that the stick reached its mechanical stop. A reading of 0.90 might be a genuinely short stick or it might be a driver scaling choice. This does not make the profile less useful, because the profile corrects what your games will receive, which is the same value this page sees. It does mean you should not treat a single figure as a physical measurement.

Sampling

Readings arrive in step with your display refresh, so a 60Hz screen gives about sixty a second. That is plenty for capturing a resting average and a travel maximum, since both involve holding a position rather than catching a fast event. If you want to know how often the pad reports underneath that, the polling rate test measures it directly.

The resting step is the fragile one

Three seconds of untouched controller is what the whole profile is built on. If you nudge the pad, hold it, or rest a finger on a stick, the offset comes out wrong and every later number inherits the error. Put it on a desk. The tool watches for movement and tells you if it sees any, but it cannot catch a steady lean.

Calibrate from cold, and then again warm

Some controllers read slightly differently after an hour of play, because components warm and reference voltages shift. If your two profiles disagree, take the one that matches how you actually play. If they disagree a lot, that itself is worth knowing and worth writing down.

Both sticks, every time

They wear at different rates because they do different jobs. On most controllers the right stick sees far more small precise movements and the left sees more full deflection, so they fail in different ways and on different schedules.

Browser And Platform Notes

  • Chrome and Edge report axis and trigger values most consistently. Firefox works but sometimes places triggers on different indices for the same pad. Safari is the least predictable of the three.
  • Keep this tab focused. Background tabs get throttled and sampling stops, which will cost you the peak of a travel measurement.
  • Close remapping software before calibrating. Steam Input, DS4Windows and vendor apps all sit between the controller and the browser, and calibrating on top of an existing profile stacks two corrections instead of one.
  • If nothing moves at all, the pad may be in a mode the browser does not read. Many third party controllers switch between XInput and DirectInput with a button combination involving Home, and the controller checker will confirm whether the device is visible at all.
  • Triggers that rest at minus one and travel to plus one are a normal DirectInput arrangement rather than a fault. The profile learns the span and maps it correctly either way.
  • Everything runs locally in the page. Nothing about your controller or your profile leaves your device, and the exports are files your own browser writes.

Questions People Actually Ask

Does this actually change my controller?
No, and nothing in a browser can. It measures your controller and produces the numbers you need, then you apply them in Windows, Steam Input, a remapping tool or a game settings menu. The measuring is the part that was hard.
How often should I recalibrate?
Only when something changes. After a repair, after fitting different thumbstick caps, or when the controller starts feeling different. Recalibrating a pad that feels fine achieves nothing and gives you a second set of numbers to confuse yourself with later.
Will calibration fix my stick drift?
It will hide a stable drift, which for a mild case is genuinely enough. It will not touch a drift that changes size from one session to the next, because a fixed correction cannot follow a moving error. Measure it twice on the stick drift test before deciding which kind you have.
Why is my deadzone recommendation so large?
Because it is sized to swallow the widest reading your stick produced while resting. A large recommendation is the tool telling you the stick is noisy or offset, not the tool being cautious. Fixing the cause gives you a smaller deadzone and better precision than accepting the number.
Should I use a response curve?
Separately from calibration, and after it. A curve changes how your input feels, which is preference. Calibration changes whether your input is correct, which is not. Getting the second one right first means the curve is doing what you think it is doing.
My right stick reads on the wrong axes.
Change the axis selection in the setup panel. Controllers disagree about which numbers the right stick uses, and the controller mapping tool prints exactly what your pad sends if you want to be certain.
Is a hall effect controller worth it to avoid this?
For drift and contact noise, they genuinely help, because there is no wiper dragging on a track. They still need range calibration though, and aftermarket modules quite often reach a slightly different maximum than the part they replaced.
Does it work on a phone or tablet?
Yes, with a controller connected over Bluetooth or through an adapter. The stick display and the trigger bars both scale down, though a cable gives you a cleaner measurement if you can manage one.

Related Tests On Gpadtester

Calibration turns measurements into settings. These pages produce the measurements, and two pages agreeing on a fault is far stronger evidence than one page suggesting it.

Sticks and triggers

Whole controller

Connection and response

Read next

How to fix controller drift covers cleaning, contact treatment and module replacement, which is where you go when the numbers say calibration is not enough.

Other hardware

Calibrate a used controller before the return window closes. Ninety seconds tells you whether you bought a healthy pad or somebody else's problem.