Device checks / Controllers
PS5 Controller Tester for DualSense Users: Buttons and Stick Drift
Test a DualSense controller with cross, circle, square and triangle buttons, analogue triggers, idle stick drift and supported vibration.
PS5 Controller Tester for DualSense Users: Buttons and Stick Drift: DualSense uses the cross button below the other face buttons, circle on the right, square on the left and triangle above. Create sits to the left of the central touchpad and Options to the right. The PS input may open a system overlay instead of reaching this page. Compare L2 and R2 as you slowly squeeze them: their values should change between released and fully pressed. A browser may expose a touchpad click or mute as an extra slot, but neither is guaranteed. Adaptive trigger resistance, motion sensing and finger coordinates are outside this test. A missing special feature is not evidence that the controller is broken. Runs 100% locally in your browser with zero server file uploads.
- Category
- Everyday tools
- Runs
- In your browser
- Cost
- Free · no sign-up
- Availability
- Ready to use
Runs entirely in your browser
Check the cross, circle, square and triangle buttons in their physical positions, the Create and Options buttons, both analogue triggers and both sticks. Use the idle recording to investigate unwanted camera movement before changing a game's dead zone.
Extra buttons after index 16 vary by browser. Touchpad click, mute, Share and Capture labels are suggestions for those slots; confirm each by pressing it. A missing slot means it is not exposed, rather than a failed button.
Five-second drift test
Place the controller on a level surface, release both sticks, and keep this tab visible for five seconds. Move each stick in a circle and release it before repeating the test. The test records raw idle offset, regardless of the display dead zone.
Maximum and mean are the length of the x/y offset vector as a percentage of a unit stick radius. Diagonal readings can exceed 100%. The 5%, 10% and 15% comparisons are examples, not manufacturer pass/fail limits. Browser sampling is not a hardware calibration.
Vibration is not exposed here. Support depends on browser, connection and controller.
The standard Gamepad API cannot read adaptive-trigger resistance, gyro motion or touchpad finger positions. It can show the touchpad click when the browser exposes an extra button.
Standard mapping: index to model button
| Index | Button name |
|---|---|
| 0 | × |
| 1 | ○ |
| 2 | □ |
| 3 | △ |
| 4 | L1 |
| 5 | R1 |
| 6 | L2 |
| 7 | R2 |
| 8 | Create |
| 9 | Options |
| 10 | L3 |
| 11 | R3 |
| 12 | D-pad up |
| 13 | D-pad down |
| 14 | D-pad left |
| 15 | D-pad right |
| 16 | PS |
| 17 | Touchpad click · browser-dependent extra |
| 18 | Mute · browser-dependent extra |
Test log
Latest 80 button transitions. Analogue levels remain visible on the live buttons and trigger bars.
- Press and release a controller button to begin the log.
Connect your controller
With the controller switched off, hold Create and PS until the light bar flashes to enter Bluetooth pairing. A USB data cable is another option; a charging-only cable cannot carry button input. On Windows, open Settings, Bluetooth & devices and add a Bluetooth device. On macOS, open System Settings, Bluetooth and connect the listed controller. On Android, use Settings, Connected devices or Bluetooth and pair a new device. On iPhone, use Settings, Bluetooth and select the controller if the phone supports it. USB on phones requires a compatible data adapter and operating-system support. After connecting, open this tab and press a controller button. If it remains absent, try a data cable, another browser or a supported host; OS pairing alone does not guarantee web access.
Official controller support (https://www.playstation.com/en-us/support/hardware/pair-dualsense-controller-bluetooth/) describes pairing. Follow the vendor instructions for your hardware.
Browser input and vibration
The W3C Gamepad specification (https://www.w3.org/TR/gamepad/) defines standard button positions and axis readings. MDN (https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API) explains activation and browser access. Open the page in a secure context and press a button after it loads. Desktop Chrome, Edge, Firefox and Safari can expose gamepads, but device mapping, phone support and haptics differ. Test availability on this host instead of assuming console features carry over.
MDN vibration documentation (https://developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator) describes dual-rumble and trigger-rumble support. A disabled effect means this browser/controller combination does not expose it.
Interpreting idle stick movement
The five-second measurement uses raw x/y offsets before the display dead zone. Mean drift is the average vector length, not the length of an average vector. Five, ten and fifteen per cent are illustrative radial dead zones rather than official service limits. Disconnect before cleaning the exterior; use the manufacturer cleaning guidance. Persistent unwanted movement after reconnecting and safe cleaning can require service or stick replacement.
How to use it
- Connect the controller to your computer or phone and press a button with this page open.
- Check the live buttons, trigger levels and stick positions in the device layout.
- Release the sticks, record five seconds of idle input and compare maximum and mean drift.
Privacy & limitations
Controller readings and test results stay in this browser. Nothing is uploaded.
Related tools
Frequently asked questions
Can this test the adaptive triggers?
It shows the analogue L2 and R2 input levels. Adaptive resistance and trigger force profiles cannot be read or controlled through the standard browser interface. The ordinary vibration button tests dual rumble only when the browser exposes it.
Why do touchpad click and mute show a dash?
Browsers can omit these extra inputs. Press each physical button and watch the numbered log. Slots after the home button are not standardised; suggested names need confirmation on your device.
How do I check DualSense drift?
Move a stick around its full travel, release it and start the five-second idle test. Repeat after reconnecting. Maximum offset shows the largest idle movement; mean offset shows its typical size. Compare with the dead zone in the game where the camera moves.
Free tool · runs in your browser · no account required