Switch language?

Switching language clears current test data. Continue?

Gamepad tester

Use this controller tester to check buttons, sticks, triggers and supported vibration.

Test guide & FAQs

3D gamepad visualization

Button layout unknownNo controller connectedUse the controller to start testing, and drag the model to inspect its appearance.
Loading 3D model…
Waiting for connection

Sticks

Live stick movement

Left stick

X —Y —

Right stick

X —Y —

Triggers

Browser-reported values

Left trigger

B6

Right trigger

B7

Buttons

No live readings

Buttons tested

— / —

Recognized axes
—
Recognized buttons
—

Vibration check

Click a vibration effect, or double-pull both triggers together (LT + RT / L2 + R2 / ZL + ZR) to cycle through the effects.

Sticks

Raw input register

Connect a controller to inspect every reported axis.

Coverage: —

Checked buttons count toward coverage. Exclude positions the browser or device reserves; unobserved input alone does not establish a fault.

No buttons available yet.

Event register

TimeEventInputValue
No changes tested yet.
Method & limits

These are browser-visible inputs. Display-frame reads are not USB reports or hardware latency. No calibration, dead zone or quality score is applied.

Gamepad tester guide: controller inputs, sticks and vibration

This controller tester displays browser-reported buttons, stick axes and trigger values. Watch the raw values while moving each control, then compare them at rest. Device detection, mapping and vibration depend on the controller, connection and browser.

How to test

  1. Connect your controller by USB or Bluetooth, then press a controller button. If several devices are connected, select the one you want to test. Use HTTPS or localhost for Gamepad API access.
  2. Press and release each button, move the sticks around their range, then release them and watch the resting X/Y values. Pull and release each trigger. Trigger values describe browser input, not physical travel.
  3. If vibration is available, click an effect and check whether you feel it. Export the received data to compare connection modes or browsers. Changing the displayed controller model does not change the physical device or calibrate it.

Frequently asked questions

Why is my Xbox, PS5 or PS4 controller not detected?

Connect the controller, keep this page active and press one of its buttons. Check HTTPS access, browser support and the selected device. Try a data-capable USB cable or another browser. A matching 3D appearance does not guarantee compatibility; nonstandard devices may only expose raw button and axis numbers.

How do I check controller stick drift?

Release the sticks and watch the resting X/Y values, then move each stick and let it return several times. Persistent offset is useful evidence to compare across browsers, connection modes and games. This page applies no software dead zone and offers no universal pass threshold; it cannot calibrate or fix drift.

Why does the controller vibration test not work?

Vibration requires a controller and browser that expose a supported haptic actuator. Click an available vibration effect. If the control is unavailable or no vibration is felt, compare USB and Bluetooth or another browser. An accepted API request alone does not prove the motor vibrated.

Does the controller input test measure latency or polling rate?

No. The page reads the Gamepad API on display frames. Multiple reads can contain the same device timestamp, and browser scheduling affects the observations. Read counts and timestamp changes cannot establish USB polling rate or end-to-end input latency.

How to test & what the numbers mean

Connect and select

Connect by USB or Bluetooth, then press a controller button. Some browsers expose a device only after interaction. Use localhost or HTTPS where required. Choose the device explicitly when several are connected.

Automatic appearance uses recognizable device names or USB vendor/product IDs and falls back to a labeled preview for unknown devices. Manual selection overrides it. Only standard mapping links raw buttons and axes to the model. Nonstandard devices keep all raw readings; no mapping is guessed. Separate Joy-Con devices are not merged.

Keep comparisons valid

Switching devices starts a separate session and retains up to five previous sessions. Reset device session clears only the selected device’s current session. Capture continues after switching tabs or windows, but background reads depend on the browser. Pause, disconnect and a read gap above 250 ms interrupt samples rather than produce a pass.

Repeated browser reads may share a device timestamp. Neither read count nor timestamp changes proves hardware polling rate. JSON includes actual input changes, explicit test evidence and eviction counts. CSV contains only the current session’s retained control changes.