Gamepad Tester – Test Any Controller Online

PadTester is a free gamepad tester for any controller the browser can see. Connect an Xbox, PlayStation, Nintendo, or generic PC pad, press a button, and read buttons, sticks, drift, triggers, vibration, and timing on this device. Use it as a controller tester before a match, after a repair, or while you decide whether a used pad is worth buying.

Connect your controller and press any button

Inputs stay in this browser. Nothing is uploaded.

Press any button on the controller. Browsers hide gamepads until you press a button on this tab.

Browser-observed rate—
Sample age (ms)—
Left stick0.00
Right stick0.00
Offset—

This is how often the browser hands us a new sample. It is not the controller’s USB poll rate. How old the newest sample is when the page draws it. This is not display lag and not in-game lag.

Buttons

Face

YTriangleXB30.00
BCircleAB10.00
ACrossBB00.00
XSquareYB20.00

D-pad

Up0.00
Right0.00
Down0.00
Left0.00

Shoulders and triggers

LBL1LB40.00
RBR1RB50.00
LTL2ZLB60.00
RTR2ZRB70.00

Center and sticks clicks

ViewCreate−B80.00
MenuOptions+B90.00
XboxPSHomeB160.00
LSL3LSB100.00
RSR3RSB110.00
ShareTouchpadCaptureB170.00

Sticks

Left stick0.00, 0.00 · 0.00
Right stick0.00, 0.00 · 0.00

Up on the plot is up on the stick. The numbers keep the browser’s sign: positive Y is usually down.

Vibration

Motion

Gyro, accelerometer, touch position, and battery are not part of the standard Gamepad reading. Chrome and Edge on desktop can request a DualSense or DualShock 4 over WebHID.

Full checkup

  1. Buttons
  2. Sticks
  3. Triggers
  4. Rumble
  5. Review

A short pass over buttons, both sticks, both triggers, and vibration.

Raw data
Raw values appear here after a controller connects.

How to test your controller online

  1. Connect the controller. Plug it in with USB or pair it over Bluetooth, then focus this browser tab.
  2. Press any button. Browsers withhold the gamepad until a button press on the page. The status line changes when the pad is visible.
  3. Walk the inputs. Press every button, rotate both sticks to the gate, and pull both triggers. Tested buttons keep a mark.
  4. Measure drift, rumble, and timing. Run the 3-second drift sample, play vibration, and move a stick so the browser-observed rate and sample age fill in.
  5. Open the matching page. If the tester recognizes the pad, open its model page for identifiers, quirks, and typical drift notes.

A browser gamepad tester is a live view of the W3C Gamepad API. You do not install a driver from this site, and you do not create an account. The steps below are the same on Windows, macOS, Linux, and Android Chrome.

What this gamepad tester checks

The panel above is the full instrument. Each focused test also has its own page so you can link straight to the check you care about.

Buttons and analog values

Face buttons, the D-pad, bumpers, stick clicks, menu buttons, and the guide button light up with the value the browser reports, from 0 to 1. Triggers are analog, so a half pull is a different reading from a full pull. Buttons you have already pressed keep a mark during a full checkup.

Sticks, drift, deadzone, and circularity

Each stick is a scope. The dot is the live position, the ring is your inner deadzone, and the square marker is the value after that deadzone. Measure drift holds a 3-second resting sample and returns Healthy, Borderline, or Drift plus a suggested deadzone. Trace circularity records the outer gate in 10° sectors. Read the method on the stick drift test and the deadzone test.

Triggers, vibration, rate, and latency

Trigger fills follow L2/LT and R2/RT. Vibration plays dual rumble, a three-pulse pattern, and trigger rumble when the browser’s actuator accepts it. The rate chip is the browser-observed update rate, and sample age is how old that sample is at draw time. Neither number is a laboratory USB poll or an end-to-end display measurement. Details sit on the polling rate test, the latency test, and the vibration test.

Several controllers, raw values, and motion

The slot row keeps up to eight pads, with a live resting offset on each so you can compare two controllers without a second computer. Raw data lists the id string, the mapping, every button, and every axis. Motion uses a WebHID request on desktop Chrome or Edge and explains the fallback everywhere else: the gyro test.

Why use this tester

The useful version of this tool is the one that tells you what the number means and what it does not mean. PadTester is private by construction: the page is static, the tester has no upload endpoint, and a theme choice in localStorage is the only thing the site writes on your machine.

  • No download and no account. A current browser is the whole install.
  • One layout for Xbox, PlayStation, Nintendo, and numbered generic pads, with a manual override.
  • Verdicts in words next to the raw fraction, so a 0.14 resting radius is not left as a mystery.
  • Pages for the checks people actually search: drift, deadzone, vibration, polling, latency, gyro, PS5, and Xbox.
  • A written record of browser limits, including the things this page cannot see.

Supported controllers

If the browser lists the pad, this tester can read it. Recognition of the model is separate: we match the id string against known vendor and product ids, then link the library page. A pad we do not recognize still gets buttons, sticks, and the raw view. Steam Input often presents a real pad as an Xbox-style virtual device, which we call out on the Steam Deck page.

Stick drift, deadzone, and circularity explained

Stick drift is a resting offset. With your thumb off the stick, the reported X and Y should sit near 0. The radius is the length of that offset, from 0 at the center to 1 at a full push. A deadzone is the region your game ignores so a small offset never becomes movement. Circularity is whether a full rotation stays near radius 1 all the way around the gate.

Resting radiusVerdictPractical next step
Under 0.06HealthyLeave the in-game deadzone small.
0.06 to 0.12BorderlineSet the deadzone just above the measured radius.
Over 0.12DriftYou will feel it in games that use a small deadzone. See the repair notes.

These bands are guidance for the Gamepad API’s −1 to 1 range, not a factory tolerance from Sony, Microsoft, or Nintendo. Run the sample with the pad on a table. A thumb resting on the stick is not drift.

Which tests your browser can run

The Gamepad API covers buttons, axes, and, on Chromium, vibration. It does not cover adaptive triggers, the real haptic waveform, gyro, accelerometer, touch coordinates, the microphone, or a trustworthy battery percentage. WebHID on desktop Chrome and Edge can see a DualSense or DualShock 4, which is why the gyro page asks for device access instead of inventing a motion number.

CheckChrome / EdgeFirefoxSafari
Buttons, sticks, triggersYesYesUsually
Dual rumbleUsuallyOften missingOften missing
Browser-observed rate and sample ageYes, with an honest labelTimestamps varyTimestamps vary
WebHID motionDesktop onlyNoNo

The full matrix, including Android Chrome and iOS Safari, is on the browser support page. iOS can connect many pads in games and still be a poor place to run this tester.

Testing on Windows, Mac, Linux, Android, iOS, and consoles

Windows, Mac, and Linux

Desktop Chromium is the most complete place to run every check, including vibration and the WebHID request. Firefox is a strong second for buttons and sticks. On Linux, some Xbox wireless pads need the distribution’s Xbox driver before the browser sees them. On macOS, current system versions expose Xbox and DualSense pads to browsers without extra software from this site.

Android and iOS

Android Chrome behaves a lot like desktop Chrome for buttons, sticks, and triggers. Vibration depends on the phone and the pad. Add the site to your home screen if you want it as an icon; that is a shortcut, not a separate app, and it does not remove iOS limits. Safari on iPhone and iPad exposes a limited Gamepad API. Many controllers connect, vibration usually does not, and motion does not.

PlayStation, Xbox, and Switch consoles

Test the pad from a computer or a phone browser. Console browsers are a bad place to run a Gamepad API page, and a console’s own menu does not show raw axis fractions. The model pages say where each pad works as a game controller, which is a different question from where this website can see it.

Calibration advice

Most “calibration” that actually helps is a deadzone set just above your measured resting radius, plus a fresh sample after you change USB, Bluetooth, or Steam Input. The deadzone test applies a radial or axial inner deadzone on this page so you can see the value the game would keep.

Hardware calibration that writes stick centers into a DualSense is a USB command, not a Gamepad API feature. This version does not write to the controller. Do not download a random calibration executable because a forum told you to; that is a common way to pick up malware. If a maker ships an official tool, get it from that maker.

  • Steam Input and some remappers add their own deadzone. Turn those off while you measure, or you will measure the remapper instead of the pad.
  • In-game look sensitivity does not fix drift. The deadzone setting does.
  • A Hall-effect stick usually avoids classic potentiometer wear. The browser cannot tell the sensor type. The drift sample can tell you whether the offset is actually low.

Troubleshooting and common problems and fixes

The page never sees the controller

Press a button with this tab focused, try the other connection (USB if you were on Bluetooth), close Steam’s overlay or another tester that might be holding the device, and confirm the OS sees the pad in its own game-controller panel. The long version is the guide Why is my controller not detected?.

Buttons are in the wrong places

The label set follows the pad we recognized, or the layout locked by the page you opened. Change “Button labels” to Xbox, PlayStation, Nintendo, or numbers. If the mapping line says non-standard, trust the raw indexes: the browser did not promise the W3C standard order.

Vibration does nothing

Confirm the actuator message under the vibration controls. Firefox and Safari often have no actuator. Bluetooth stacks on some Linux setups drop rumble even when buttons work. A pad can also have rumble disabled in Steam Input. The vibration test lists the cases.

Drift that disappears on another cable

A worn cable, a failing Bluetooth radio, or Steam Input’s deadzone can look like stick wear. Repeat the 3-second sample on USB with remappers closed. If the radius collapses, the stick module is probably fine.

When to test your controller

  • Before you buy a used pad, on the seller’s computer or yours, with a drift sample and a full button pass. The buying guide is the checklist.
  • After a stick replacement, a shell swap, or a cleaning, to see if the resting radius actually dropped.
  • When a game drifts and another game does not. Different titles ship different default deadzones.
  • When rumble works in one browser and not another. That is usually the browser, not a dead motor.
  • When you are wiring a game or a web page to the Gamepad API and you need the raw indexes. The developer notes match this tester.

Who this tester is for

Players who want a straight answer before they open a pad or buy a new one. People selling or buying used controllers who need the same page on both sides of the table. Repair benches that want a before-and-after radius. Streamers checking a pad on stream without installing a driver. Parents checking a gift before it is wrapped. Developers who need the standard button order and an honest description of timestamps.

How gamepad testers work

The browser keeps a list of gamepads and updates it when the operating system sends a new report. This page reads that list on each animation frame. It does not open a socket, and it does not ask the controller for a secret calibration block. Digital buttons are 0 or 1. Triggers and some pressure-sensitive buttons are fractions. Sticks are a pair of axes, usually −1 to 1.

Two pads can leave the factory within spec and still differ by a few hundredths in this view, because the browser, the USB stack, and any remapper sit between the sensor and the page. Compare a pad with itself: USB against Bluetooth, before a repair against after, this browser against another. That comparison is solid. A claim that a browser page measured 1000 Hz USB polling is not.

Controller glossary

Short definitions for the words on this tester. The full list, including Hall effect, VID/PID, XInput, and sample age, is the controller glossary.

  • Stick drift — a resting offset large enough that the camera or the character moves with your thumb off the stick.
  • Deadzone — the center region the game treats as zero.
  • Circularity — how close a full rotation stays to a perfect circle at the gate.
  • Standard mapping — the W3C order that puts the south face button at index 0, regardless of the letters printed on the pad.
  • Sample age — how old the newest gamepad reading is when the page draws it.
  • Dual rumble — the pair of eccentric motors in most pads, as opposed to adaptive triggers or voice-coil haptics.

Most-tested controllers

We do not publish a fake popularity chart. PadTester does not upload test results, so we cannot honestly rank “most tested on this site.” The pads below are the ones people open a tester to check, based on repair patterns and on the model pages we ship. Each card links to identifiers, quirks, and drift notes.

Gamepad API for developers

Read `navigator.getGamepads()` inside `requestAnimationFrame`. The connect event fires when a button is pressed; it does not stream analog values. Check `mapping === "standard"` before you assume index 0 is the south face button. Treat `timestamp` as a browser clock, and label any hertz figure as browser-observed. The developer notes include the button table, a short polling loop, and the vibration call this page uses.

More focused controller tests

The homepage runs every check. These pages start in the matching mode and explain how to read that one result. The test index lists them together.

Guides, repair notes, and articles

The guides exist to support a test: detection, drift repair choices, what a polling number means, buying used, DualSense on PC, and cutting input lag. They are not a news blog. Start with the test, then open the guide if the result needs a next step.

Use it on your phone

There is no separate store app. Add PadTester to the home screen from the browser if you want an icon. On Android Chrome, plug the pad into the phone or pair it, then press a button on this page. On iOS, expect buttons and sticks on some pads and do not expect vibration or gyro. A phone browser is a fine way to confirm a pad is alive. A desktop Chromium window is the right place for a drift sample you will trust.

Where your controller works

Working on this website and working on a console are different. A DualSense is at home on a PS5 and on a PC browser. It is not an Xbox pad. An Xbox Series pad is at home on Xbox and on a PC browser. It is not a PlayStation pad. Switch Pro and Joy-Con are at home on Switch; PCs see them with more quirks, which the model pages describe. 8BitDo mode switches change the USB identity. Steam Deck desktop mode can test the virtual pad Steam creates.

Adapter and remapper products can put a pad on a platform the maker never promised. When that happens, test again after you enable the adapter. You may be looking at the adapter’s virtual gamepad. The library pages list the native cases and the usual PC path for each model.

Ready to test your controller?

Go back to the live tester, press any button, and run the full checkup. If you already know the symptom, open the stick drift test, the vibration test, or the model page for your pad.

Frequently asked questions

Why does my controller not show up until I press a button?

Browsers hide gamepads until a button press happens on the focused page. That is a privacy behavior of the Gamepad API, not a fault in the pad. Press a face button, a bumper, or the D-pad with this tab in front.

Does this work with PS5, Xbox, and Switch controllers?

Yes, when the browser can see them. DualSense, DualShock 4, Xbox Series, Xbox One, Switch Pro, Joy-Con, 8BitDo, and generic USB pads are the models we document. An unrecognized pad still shows buttons, sticks, and raw values.

Is stick drift the same thing as a deadzone?

No. Drift is an offset the stick reports while you are not touching it. A deadzone is a setting that ignores small offsets. You measure drift first, then choose a deadzone slightly larger than that radius if you are not ready to repair the module.

Can this page measure the real USB polling rate?

No. It measures how often the browser delivers a new sample. A 1000 Hz wired pad and a 125 Hz pad can look similar here. The polling page explains how to use the number without pretending it is a hardware spec.

Does vibration work in every browser?

No. Chrome and Edge usually expose a dual-rumble actuator. Firefox and Safari often do not. If the tester says the actuator is missing, the motor may still be fine in a game that talks to the pad directly.

Are my button presses uploaded?

No. The tester reads the Gamepad API in this tab and does not send those readings anywhere. PadTester has no account system and does not run analytics. The privacy policy describes the theme preference stored in localStorage and the logs a host may keep.

Can I test more than one controller?

Yes. Connect up to eight. The slot row shows a live offset for each, and the detail view follows the slot you select. That is enough to compare a suspect pad with a known-good one.

Why is the gyro test not moving?

The standard Gamepad reading does not include gyro. Desktop Chrome or Edge can request a DualSense or DualShock 4 over WebHID. This version confirms that access and does not invent a motion trace. Other browsers get a written explanation instead of a fake number.