What Is the Gamepad Vibration Tester?
Most modern gamepads contain two eccentric rotating mass (ERM) motors — a heavy motor for low-frequency rumble (grips, explosions) and a lighter motor for high-frequency vibration (trigger feedback, surface texture). This tester uses the browser's Gamepad Haptics API (vibrationActuator.playEffect) to fire precise dual-rumble commands without any drivers or software installs.
How It Works
When you click "Test Rumble", the tool calls gamepad.vibrationActuator.playEffect('dual-rumble', { weakMagnitude, strongMagnitude, duration }) using the Web Gamepad API Haptic extension. Chrome and Edge on Windows and Android fully support dual-rumble. Firefox supports single-motor vibration. Safari 16+ supports basic rumble on supported controllers.
Step-by-Step Instructions
Technique Tips & Hardware Facts
Chrome Gives Best API Support
Chrome and Edge on Windows and Android currently offer the best dual-rumble Gamepad Haptics API support. Firefox provides basic vibration via Gamepad API. Safari support varies by controller and macOS version.
DualSense on PC
Sony's DualSense controller requires USB connection for dual-rumble browser support on Windows. Bluetooth DualSense may only expose basic vibration without the adaptive trigger APIs.
Diagnosing a Dead Motor
If one motor does not respond: test Heavy and Light motors individually. A motor that produces no vibration even at 100% has likely failed mechanically or its driver circuit has burned out.
Xbox Series vs. Xbox One
Xbox Series X|S controllers support the dual-rumble API in Chrome. Older Xbox One controllers report as standard gamepads and may use the GamepadHapticActuator's pulse() fallback instead.
Frequently Asked Questions
My controller doesn't vibrate — why?
First ensure the controller is connected and detected above. If it's detected but no vibration fires, your browser may not support the dual-rumble API for your specific controller model. Try Chrome or Edge with a USB connection.
What is weakMagnitude vs strongMagnitude?
weakMagnitude drives the smaller, lighter motor (high-frequency buzz). strongMagnitude drives the heavier motor (low-frequency rumble). Both accept values from 0.0 (off) to 1.0 (maximum).
Does this work on iOS?
Limited. iOS Safari supports basic controller rumble for MFi-certified gamepads. Non-certified controllers may not receive haptic commands through the browser.
Can I damage my motors by testing at 100%?
Brief bursts at full power are fine. ERM motors are designed for sustained vibration. Leaving them at 100% for many minutes could cause heat build-up, but a few seconds to several seconds is harmless.