Phone Vibration Motor Test
Verify haptics on mobile devices via Vibration API.
How to use this page to quickly locate problems
Vibrate Guide
Test different patterns (Pulse, SOS) to check motor health.
Confirm API availability
Look at "Vibration API: Supported/Not Supported" at the top of the page and run a short pulse first.
Test different rhythms
Use "Preset Rhythm" and "Rhythm Generator" to compare the somatic differences in length, speed, and compound rhythms.
Do "strength" comparisons (approximately)
The Vibration API does not have real amplitude control. "Strength" is approximated by pulse duration and interval duty cycle.
FAQ
Support differences, limitations, and troubleshooting suggestions for the Vibration API.
What does this page verify?
It can confirm whether the current browser is exposed to `navigator.vibrate`, and trigger vibration through preset rhythm/custom pattern to help you do somatosensory comparison of "whether there is feedback, whether the rhythm is distinguishable, and whether there is obvious delay/vibration swallowing".
Why does it say "Support" but I can't feel the vibration?
Common reasons include: the system is in power saving/do not disturb/mute or tactile feedback is turned off, the device hardware is not supported/the vibrator is weak, the browser has frequency/duration restrictions on vibration, or the current page is not in the foreground. It is recommended to click the button in the foreground to trigger and use a longer pattern (such as three consecutive earthquakes/SOS) for comparison.
How is "strength" measured? Can the amplitude be controlled?
The Vibration API only has "duration/interval" and no real vibration amplitude parameters. The "intensity" on this page is a somatosensory approximation using longer pulses and shorter intervals (higher duty cycle) for easy comparison, but does not represent real amplitude control.
Can it be used on iPhone / iOS Safari?
Not in most cases. iOS/Safari has very limited support for the Vibration API (many versions do not support it outright). If you need reliable vibration testing, it is recommended to use Android/Chrome as the main control environment.
Why is HTTPS (security context) required?
Some browsers regard vibration as a "sensitive capability" and may be restricted in non-secure contexts (HTTP). Even though it's not a requirement, using https is generally more stable.
Will any data be uploaded?
Won't. Pattern generation, triggering and logging are all done locally in your browser. This page will not upload device information or test data to the server.