Test your PS5 DualSense controller in the browser
Verify every button, adaptive trigger, analog stick, touchpad click, mute button, and haptic actuator on your DualSense in your browser. Stick coordinates are read at frame rate via the HTML5 Gamepad API and mirrored on an SVG controller in real time, with a circularity test that quantifies stick drift down to 1% increments.
Get started with your test
- Connect your DualSense via USB-C cable, Bluetooth, or the PlayStation Link / Sony wireless adapter.
- Press any button — browsers only expose a connected gamepad after the first input event fires.
- Watch the on-screen controller light up as you press buttons, move sticks, and pull adaptive triggers.
If every region you expect lights up, the controller is registering correctly with the browser. If a region stays dark, the troubleshooting section below maps each common symptom to its real-world cause.
Why test a DualSense in the browser
A DualSense is more complicated than the DualShock 4 it replaced — adaptive triggers add an electromagnetic resistance mechanism, voice-coil haptic motors replace the simple eccentric-mass rumble, and the stick modules switched suppliers between revisions. More moving parts means more failure modes:
- Adaptive triggers can stop returning to rest, lock at one resistance level, or fail to register pressure changes.
- Stick modules on first-revision DualSense controllers (CFI-ZCT1) developed drift faster than DualShock 4 modules in early reports; later revisions (CFI-ZCT1W and CFI-ZCT2) shipped with refined potentiometers.
- The mute button is a physical micro-switch that wears like any other button and is easy to miss in normal testing.
- Haptic motors share electrical paths with the speaker; one symptom (silent speaker) can mask another (failing haptics) or vice versa.
This tester reads exactly what the OS delivers to the browser via the Gamepad API. Each frame, navigator.getGamepads() returns the current state of every connected controller — digital buttons, analog trigger pressure, and the four axis values for the two sticks. The page polls at requestAnimationFrame cadence (typically 60 Hz) and mirrors the state onto the SVG illustration without filtering.
Common reasons to run a DualSense test:
- Pre-purchase check — verify a second-hand DualSense or DualSense Edge before paying or before the return window closes
- Stick drift quantification — the circularity test gives you a single percentage to monitor over time
- Adaptive trigger health — confirm both L2 and R2 produce a smooth analog curve under variable pressure
- Haptic actuator check — the voice-coil motors degrade differently than the eccentric-mass motors in older controllers
- Touchpad and mute button — both are easy-to-miss wear points
- Post-repair verification — confirm a stick module swap or trigger replacement actually fixed the issue
- PC gaming setup — verify the controller is recognised before launching a Steam game with DualSense support
How to test your PS5 controller in 3 steps
Step 1: Connect the controller
The DualSense supports three connection modes; all three work with the Gamepad API.
- USB-C cable — the most reliable test method. Use a USB-C data cable (some USB-C cables are charge-only). Connect directly to a motherboard USB port, not through a hub. The light strip should illuminate solid blue (player 1) within a second.
- Bluetooth — hold the PS and Create buttons together for 3–5 seconds until the light strip flashes rapidly. Pair from your OS Bluetooth menu — the controller appears as "DualSense Wireless Controller". When the strip turns solid, it's connected.
- PlayStation Link / Sony Wireless Adapter — plug the adapter into a USB port and press the PS button on the controller. PlayStation Link supports the lower-latency Sony proprietary protocol; Bluetooth is the universal fallback.
Step 2: Press every button
Press each button once and watch the corresponding region on the SVG controller light up:
- Face buttons — Cross, Circle, Square, Triangle
- D-pad — Up, Down, Left, Right (and the diagonals if you press two adjacent directions together)
- Shoulder buttons — L1, R1
- Adaptive triggers — L2, R2 (analog; pull gradually and watch the value rise from 0.00 to 1.00)
- Stick clicks — L3, R3 (press the sticks straight down)
- System buttons — Create, Options, PS
- Mute — the small button below the PS button (button index 17 on Chromium; 16 elsewhere depending on browser)
- Touchpad click — press the centre of the pad
Then push each analog stick to its limits in all directions. The on-screen sticks should track yours smoothly.
Step 3: Run the drift, trigger, and haptics checks
With sticks centred and your hands off the controller, axis values should read 0.00 / 0.00. Anything above ±0.05 indicates the potentiometers are reporting phantom motion. The circularity test measures how far a swept stick deviates from a perfect circle:
- Below 7% — healthy
- 7–15% — early wear; usable, monitor it
- Above 15% — actionable; aim and camera control will be visibly affected
Pull each adaptive trigger gradually. The reported value should rise smoothly from 0.00 to 1.00. A trigger that jumps abruptly (no analog values between 0 and 1), sticks at a fixed value, or fails to return to 0 has a fault in the analog spring or potentiometer assembly.
Press the haptic test button to fire both voice-coil actuators. Healthy haptics produce a sharp, sustained buzz; weak or absent haptics on one side usually means a disconnected wire after a drop.
How to connect a PS5 controller
The DualSense pairs with anything that speaks USB HID or Bluetooth HID — PS5 console, Windows, macOS, Linux, iPad, iPhone, Android, Steam Deck, and Apple TV. The connection method changes the user experience (latency, haptic support, battery reporting), but the Gamepad API events on this page are identical across them.
How to put a PS5 controller in pairing mode
To put a PS5 controller in pairing mode, the controller has to be discoverable to a fresh host. Press and hold the PS button and the Create button (the one to the left of the touchpad) together for 3–5 seconds until the light bar double-flashes white in a fast pulse. That flash means the DualSense is broadcasting on Bluetooth and ready to pair.
If the light bar settles back to a steady glow without flashing, the controller is still bonded to a previous host. Power-cycle it (hold PS for 10 seconds), then try the PS+Create combo again. A controller that refuses to enter pairing mode at all usually has a depleted battery — plug it into USB-C for a few minutes first.
How to pair PS5 controller to PC
To pair a PS5 controller to a PC, you can either go wired or use Bluetooth:
- Wired (recommended for testing) — plug the DualSense into a Windows PC with a USB-C data cable. Windows 10 and Windows 11 recognise it natively as "Wireless Controller" with no drivers required. The light bar lights solid blue when it's online.
- Bluetooth — put the controller into pairing mode (PS + Create, hold until the bar flashes), open Settings → Bluetooth & devices → Add device → Bluetooth, then pick Wireless Controller when it appears. Windows binds it as a HID gamepad immediately.
- Steam — once paired, open Steam → Settings → Controller and enable PlayStation configuration support. Steam Input then routes DualSense input (including triggers and the touchpad) into Steam-launched games.
For games that don't natively support DualSense, DualSenseX re-presents the controller as a virtual Xbox 360 pad and forwards adaptive trigger commands. The Gamepad API on this page does not need DualSenseX — Windows already exposes the standard mapping.
How to connect PS5 controller to iPad
To connect a PS5 controller to an iPad, you'll need iPadOS 13 or later (iPadOS 16+ is recommended for full DualSense feature support):
- Put the controller into pairing mode (PS + Create, hold until the light bar flashes).
- On the iPad, open Settings → Bluetooth.
- Wait for DualSense Wireless Controller to appear under "Other Devices", then tap it.
- iPadOS reports it as connected; the light bar turns solid.
iPadOS 16+ recognises the touchpad as a system pointer (it moves the cursor in apps that don't capture it for game input) and supports adaptive-trigger feedback in games that opt in via the GameController framework. The same procedure works on iPhones running iOS 16+, and on Apple TV (tvOS 17+) for tvOS-supported games.
How to Bluetooth a PS5 controller (macOS, Linux, Android)
The Bluetooth flow is identical across platforms — only the menu names differ:
- macOS — System Settings → Bluetooth → click DualSense Wireless Controller. macOS Sonoma and later ship with native DualSense support including light-bar control via the GameController framework. Haptics over Bluetooth on macOS are unreliable; use USB-C for haptic testing.
- Linux —
bluetoothctl pair <MAC>or use the desktop Bluetooth panel. Kernel 5.12+ includeshid-playstation, which exposes buttons, sticks, triggers, and rumble out of the box. - Android 12+ — Settings → Connected devices → Pair new device. Cloud gaming apps (Xbox Cloud, GeForce NOW, PlayStation Remote Play) all recognise the DualSense over Bluetooth.
Whichever path you use, the light bar going solid is the signal that pairing succeeded. If the bar keeps flashing, the host either timed out or refused the bond — repeat PS + Create and try again.
PS5 PC Remote Play keyboard controls
If you don't have a DualSense handy but want to use Sony's PS Remote Play app on a PC, the official client supports keyboard input as a fallback. Default mappings:
- WASD — left stick
- Arrow keys — right stick
- Q / E — L1 / R1
- R / F — L2 / R2 (digital, not analog)
- 1 / 2 / 3 / 4 — Cross / Circle / Square / Triangle
- Z / X / C / V — D-pad up / down / left / right
- Enter — Options, Backspace — Create, Esc — PS button
Keyboard control covers casual play but is digital-only — analog triggers and sticks are off-limits. This page can't test Remote Play keyboard mapping (that's a separate input path); it only tests gamepads exposed through the Gamepad API. Use the Keyboard Test tool to verify the keys themselves register before troubleshooting Remote Play.
Compatible PS5 controllers
Official Sony DualSense
- DualSense (CFI-ZCT1) — original 2020 launch model
- DualSense (CFI-ZCT1W) — 2022 minor revision with battery and haptic refinements
- DualSense (CFI-ZCT2 series) — 2023 onwards, internal component changes
- DualSense Edge — the pro-grade DualSense Edge PS5 controller with replaceable stick modules, configurable triggers, and back paddles. Buttons surface as standard Gamepad indexes plus paddle indexes 16+ on Chromium.
- All colour and special-edition variants — including the Chroma DualSense lineup (Chroma Indigo, Chroma Pearl, and Chroma Teal), plus White, Midnight Black, Cosmic Red, Nova Pink, Starlight Blue, Galactic Purple, Volcanic Red, Sterling Silver, and game-themed editions (God of War Ragnarök, Spider-Man 2, Final Fantasy XVI, etc.)
Variant — including the Chroma colorways and Edge — has no effect on which Gamepad API events fire. Button mapping is identical across all DualSense hardware.
Third-party PS5 controllers
- Victrix Pro BFG
- SCUF Reflex / Reflex Pro / Reflex FPS
- Razer Wolverine V2 Pro
- Nacon Revolution 5 Pro
- HexGaming Rival Pro
Most third-party PS5 controllers expose the same standard Gamepad mapping. Back-paddle equipped models surface paddles as button indexes 17–20 on Chromium, visible in the live-status panel even when the SVG illustration has no dedicated region.
What the tester checks
Button registration
The DualSense exposes the following standard Gamepad API mapping:
- 0 — Cross
- 1 — Circle
- 2 — Square
- 3 — Triangle
- 4 — L1
- 5 — R1
- 6 — L2 (analog)
- 7 — R2 (analog)
- 8 — Create
- 9 — Options
- 10 — L3 (stick click)
- 11 — R3 (stick click)
- 12–15 — D-pad up/down/left/right
- 16 — PS button
- 17 — Touchpad click
- 18 (where exposed) — Mute button
Each button reports both a pressed boolean and a value between 0 and 1.
Adaptive triggers
The Gamepad API exposes trigger pressure as value between 0.00 and 1.00 on buttons[6] and buttons[7], displayed in real time. Programmable resistance — the unique DualSense feature where games can set trigger tension to simulate a bow draw, gun trigger, or vehicle brake — is not exposed to web pages. Setting trigger resistance requires platform-specific APIs (DualSense on PS5, DualSenseX on Windows, custom HID feature reports). The browser test confirms the trigger reads pressure correctly; it cannot trigger variable resistance.
Stick precision and drift
Stick positions arrive on gamepad.axes:
axes[0]— left stick X (−1 left, +1 right)axes[1]— left stick Y (−1 up, +1 down)axes[2]— right stick Xaxes[3]— right stick Y
DualSense sticks use analog potentiometers similar in principle to DualShock 4, but with refined manufacturing in later revisions. The circularity test rotates a stick around its full range and records max/min radius. A perfect stick traces a circle; a worn one traces an oval or polygon. The percentage difference between smallest and largest radius is the circularity error.
Haptic feedback
The standard gamepad.vibrationActuator.playEffect API drives both voice-coil actuators. It exposes "dual-rumble" effects with strong/weak magnitude — adequate for confirming the actuators are wired and producing motion. The per-channel haptic waveform that PS5 games use (writing arbitrary signal samples to the actuator) is console-only and not exposed to browsers.
Browser support: Chrome and Edge implement vibration on Windows over USB. Firefox supports it on most platforms. Safari does not yet expose vibrationActuator. macOS Bluetooth typically does not pass haptic commands through to the controller.
Touchpad
Chrome and Edge report a touchpad click as button index 17 on a connected DualSense. Multi-touch coordinates are not exposed by the Gamepad API in any major browser — you only get the click event. The tester confirms the click works; finger-position data requires PS5 console software or DualSenseX on PC.
Battery level
gamepad.battery is reported inconsistently. Chromium-based browsers surface it when the controller is connected over USB on Windows; over Bluetooth or on macOS the field is typically absent. When available, the live-status panel shows it.
Troubleshooting common DualSense problems
Controller is not detected
Check in order:
- Press a button after connecting — the Gamepad API only exposes a controller after the first input event. A connected-but-idle controller appears as
nullinnavigator.getGamepads(). - Cable — try a different USB-C cable. Charge-only USB-C cables (common as phone chargers and bundled with most PS5 controller charger docks) lack data lines, which means they top up the battery but never register the DualSense as input. The cable that ships with the PS5 console is a data cable; most third-party charging docks are not.
- USB port — connect directly to a motherboard port. USB hubs can drop the controller's HID interface, especially during high-bandwidth events like haptic playback.
- Reset — press the recessed reset button on the back near the Sony logo with a paperclip for 3–5 seconds. Reconnect via USB-C.
- Bluetooth re-pair — remove the controller from your OS Bluetooth list, hold PS+Create until the strip flashes, and pair fresh.
- Browser — Chrome has the most mature Gamepad API support; try it to isolate browser-specific issues.
How to fix PS5 controller drift (stick drift)
PS5 controller stick drift appears at rest as non-zero axes[0] or axes[1] values without you touching the stick — the in-game camera or character creeps even when your hands are off. Causes, by frequency, and the fix for each:
- Worn analog potentiometer — uneven carbon track inside the stick module. Replacement modules cost roughly $10–25 per pair and require basic soldering. The fix is permanent. DualSense Edge sidesteps soldering entirely: its stick modules are tool-free and pop out in under a minute, which is why repair-conscious players gravitate toward the Edge despite the price premium.
- Dust or debris under the stick boot — compressed air around the rubber base, with the stick rotated, can dislodge particles. Follow with a drop of electronic contact cleaner for stubborn cases. Often buys 1–6 months of relief.
- Calibration drift in the OS — Windows and macOS ignore Gamepad API recalibration. The fix is hardware. Steam's controller calibration helps in Steam-launched games only.
- Firmware issue — Sony has shipped multiple DualSense firmware updates that improved stick deadzone behaviour. Update via the PS5 system menus or Sony's PC firmware updater when a console isn't available.
If the circularity test on this page reads above 15% and resting axis values exceed ±0.10, the controller has measurable stick drift — the question is which fix to apply, not whether to apply one.
Adaptive trigger feels stuck or won't return
- Internal mechanism debris — the adaptive trigger uses a small electromagnetic gear assembly that can collect dust. Compressed air through the trigger gap can dislodge it.
- Spring fatigue — the analog return spring weakens after years of use. Replacement triggers are sold as left/right pairs and require partial disassembly.
- Cable issue — if you've opened the controller for any reason, the ribbon cable to the trigger board may be partially obstructing the mechanism. Reseat the cable.
- Lock at one resistance level — usually a firmware/software issue triggered by a game state, not hardware. Power-cycling the controller (hold PS for 10 seconds to force shutdown) typically clears it.
Haptic test does nothing
- Browser/platform combination — Safari and macOS Bluetooth do not pass
vibrationActuatorthrough. Test in Chrome on Windows for the most reliable haptic support. - Connected over Bluetooth — Bluetooth haptics are reliable on Windows but not on Linux or macOS. Try USB-C.
- Disconnected actuator wire — common after a drop. Opening the controller and reseating the haptic motor lead usually restores it.
- Speaker shares the audio path — if both the haptics and the speaker are silent, a shared cable or board connector is the likely fault.
Touchpad click does not register
Chromium reports the click as button 17. If pressing the centre of the pad doesn't fire button 17:
- Click switch wear — the dome-switch underneath wears out separately from the touchpad sensor. Replacement is moderately invasive.
- Touch coordinates are not exposed — even when the click works, finger-position data requires PS5 system software or DualSenseX, not the browser.
Mute button does nothing
The mute button is a small momentary switch. If the orange LED next to it doesn't light when pressed, and the live-status panel doesn't fire button 18 (or 16, depending on browser), the switch is likely failed. Replacement is invasive but inexpensive.
Browser support by platform
The browser sees the controller via the OS HID stack regardless of how it's connected. Compatibility quirks worth knowing before you blame the controller:
- Windows 10/11 — fully supported in Chrome, Edge, and Firefox over both USB and Bluetooth.
- macOS — Chrome and Firefox expose the standard mapping. Safari is partial: vibration and battery fields are inconsistent.
- Linux — supported via
hid-playstation(kernel 5.12+). Buttons, sticks, triggers, and rumble work; adaptive trigger resistance requires user-space helpers. - Steam — Steam Input intercepts gamepad events globally. If a Steam-launched game sees no input, check Settings → Controller → "PlayStation configuration support".
Privacy
Every Gamepad API value stays inside the browser tab. No button presses, stick coordinates, trigger pressures, or haptic commands are uploaded, recorded, or logged. The page polls navigator.getGamepads() locally and renders the result; closing the tab clears the state.
You can verify with the browser's network tab — no controller-related requests fire while testing.
Frequently asked questions
How do I put my PS5 controller in pairing mode?
Hold PS + Create for 3–5 seconds until the light bar pulses white in a fast double-flash. That flash is the signal that the DualSense is broadcasting on Bluetooth and ready to bond with a new host. If the light bar doesn't flash, the controller is still paired to a previous host — power-cycle it (hold PS for 10 seconds) and try again.
How do I connect a PS5 controller to a PC?
Wired is fastest: a USB-C data cable into a Windows PC works with no drivers. For Bluetooth, put the controller in pairing mode (PS + Create) and pick Wireless Controller in Settings → Bluetooth → Add device. Steam users should also enable PlayStation configuration support in Steam → Settings → Controller. Full step-by-step in the How to pair PS5 controller to PC section above.
How do I connect a PS5 controller to an iPad?
iPadOS 13+ recognises the DualSense over Bluetooth. Put the controller in pairing mode, open Settings → Bluetooth on the iPad, and tap DualSense Wireless Controller when it appears. iPadOS 16+ adds touchpad-as-pointer and adaptive-trigger feedback for games that opt in via the GameController framework.
What's the best PS5 controller charger?
For testing on this page, ignore charger docks and use the USB-C data cable that came with your PS5. Most third-party PS5 controller chargers are charge-only — they replenish the battery but lack data lines, so the DualSense won't show up in the browser when seated on the dock. If you want a charger that doubles as a USB connection, look for a "data + power" stand that uses a passthrough USB-C cable, not a contact-pin dock.
Does this work with the DualSense Edge?
Yes. The DualSense Edge PS5 controller exposes the same standard Gamepad mapping as the regular DualSense over USB-C and Bluetooth, plus its rear paddles surface as additional button indexes (16+) on Chromium. Profile remapping happens in the controller firmware, so the browser sees whatever binding the active profile dictates. The Edge's tool-free swappable stick modules also make it the cleanest controller to fix once stick drift sets in.
Will a Chroma DualSense behave any differently in this tester?
No. The Chroma DualSense colorways (Chroma Indigo, Chroma Pearl, Chroma Teal) are cosmetic — internals match the standard DualSense (CFI-ZCT2 series). Every button, trigger, stick, and haptic behaves identically to a white or black DualSense in the Gamepad API.
Can I test the PS5 microphone array?
Not through the Gamepad API. The DualSense exposes its array microphone as a standard USB audio input device, so any tool using getUserMedia can capture it — but that's a separate permission flow. Use the microphone tester for that path.
Why can't the browser drive adaptive trigger resistance?
The Gamepad API exposes trigger pressure as a read value but provides no method to set trigger resistance. Setting resistance requires writing custom HID feature reports to the controller, which the browser sandbox does not allow for security reasons. PlayStation games on a console use console-side firmware; Windows games use DualSenseX or DSXManager which run outside the browser.
Why does the stick show 0.04 at rest?
A small non-zero value (under ±0.05) is within normal manufacturing tolerance for analog potentiometers. Most games apply an inner dead zone of 8–15% for exactly this reason. Drift becomes a real problem when resting values exceed ±0.10 or change as the controller warms up.
Is the DualSense touchpad multi-touch testable here?
No. The Gamepad API exposes only the single touchpad click event (button 17). Finger position and multi-touch require PS5 system software or DualSenseX on PC. The tester confirms the click switch works, which is the most common touchpad failure mode.
Will my PS5 controller work on PS4 games via Remote Play?
Yes — Sony's PS Remote Play app passes DualSense input through to the PS5/PS4 game session. The browser test does not exercise Remote Play; it only confirms the controller's hardware is healthy.
Related testing tools
- PS4 Controller Test — DualShock 4 buttons, sticks, triggers, vibration, and touchpad click via the same Gamepad API.
- Xbox Controller Test — Xbox One, Series X/S, Elite paddles, and Xbox 360 with appropriate drivers.
- Keyboard Test — Test every key, detect stuck keys, verify NKRO rollover.
- Mouse Test — Diagnose double-click failure, dead buttons, and scroll wheel issues.
- Microphone Test — Useful for verifying the headset mic in your PS5 chat setup, or testing the DualSense's built-in array mic via getUserMedia.
- Headphone Test — Check left/right channels and sweep frequencies on any headset before a session.