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.
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.
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.
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.
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.
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.
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.
Four separate things, which get bundled under one word and confuse everybody.
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.
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.
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.
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.
The profile is portable. Where you apply it depends entirely on what you play on.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
| What you are seeing | Will calibration help | What 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. |
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.
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.
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.
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.
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.
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.
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.
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.
Away from the controller: keyboard test, mouse test, mic test, frame rate test and refresh rate test.
Sign in to your account