Short pulse Tap to feel

Needs a device with a vibration motor — most desktop browsers ignore these.

Phone Vibration Test — Check Your Haptic Motor Online

Start this vibration test with the short pulse and hold the phone in your hand. If you feel it, try the other patterns and notice whether the vibration stops cleanly or comes with a rattle. The page sends a timing pattern to the operating system; it does not measure how strong the motor is.

A silent result deserves a settings check before a repair diagnosis. Browser support matters too: Safari on iPhone and iPad does not provide the Vibration API used here. For those devices, use the haptic checks in Settings described below.

How to run the vibration test

Open this page on the phone itself and tap one of the four buttons, each sending a different pattern to navigator.vibrate():

  • Short pulse — 100 ms. The basic pass/fail. If the motor runs at all, you feel this.
  • Long buzz — 500 ms. Continuous drive: the pattern that exposes rattles, buzzing housings and a motor that fades halfway through.
  • Double tap — two 80 ms pulses, 50 ms apart. Tests how fast the motor stops: a linear actuator gives two separate taps, a rotating-mass motor smears them into one.
  • SOS morse — nine pulses over two seconds. A sustained run that catches intermittent contact or a loose connector.

You must tap a button: the Vibration API requires user activation, so no page may buzz your phone on load. If nothing happens, read the next two sections before concluding the motor is dead, then run the rest of the phone test online suite.

iPhone and iPad: this test cannot work in Safari

Apple has never shipped the Vibration API in WebKit: it is unsupported in every release of Safari on iOS, iPadOS and macOS to date, and since every iOS browser must use WebKit, Chrome, Firefox and Edge on an iPhone behave identically. This page cannot reach the Taptic Engine, so it reports "not supported" rather than pretending the motor failed. Sites that appear to vibrate an iPhone abuse the system haptic iOS plays when a hidden toggle flips, a trick Apple tightened in iOS 18.4. Treat a silent iPhone here as a browser limit, never a diagnosis.

How to test iPhone haptics without a browser

Use the ringtone vibration editor — the closest native equivalent to this test. Go to Settings → Sounds & Haptics → Ringtone → Haptics and pick a pattern such as Heartbeat, or choose Create New Vibration and tap out your own; the phone plays it back on demand. If that is silent, the problem is real. Then check the switches that mute haptics:

  • Sounds & Haptics → Keyboard Feedback → Haptic. Off by default on every iPhone — the usual reason typing feels flat on a new phone.
  • System Haptics in the same menu — newer iOS builds rename it Haptics, with Always Play / Play in Silent Mode / Never Play.
  • Accessibility → Touch → Vibration. A master kill switch: with it off nothing vibrates, not even emergency alerts.
  • Focus and the ring/silent switch suppress notification vibration only, leaving system haptics working.

ERM, LRA and the Taptic Engine — why phones feel so different

The same 100 ms pulse feels different on two phones because the hardware differs.

  • ERM (eccentric rotating mass). A motor spinning an off-centre weight — the cheap, familiar buzz. It needs roughly 50–100 ms to spin up and as long to coast down, and strength and frequency are locked together, so short patterns arrive late and blur.
  • LRA (linear resonant actuator). A mass on a spring driven along one axis by a voice coil. It works only within a few hertz of its resonance, typically about 170–235 Hz, but reaches full amplitude in milliseconds and can be braked, so a 10 ms command feels like a crisp tap.
  • Apple's Taptic Engine. A large LRA moving along the phone's long axis; Android flagships sell the same class of part as an "X-axis linear motor".

That makes the double tap the most informative button here: an LRA phone gives two separate knocks, an ERM phone one long smudge. The browser sends only durations and cannot report which actuator you have — your finger can.

What a rattling, buzzing or weak vibration means

Run the 500 ms buzz with the case off, holding the phone in the air, then again flat on a hard table.

A rattle or crackle means something is loose, not necessarily the motor. Mounting screws or adhesive work free after a drop, leaving the actuator shaking itself instead of the chassis. Often a neighbouring part resonates instead: Galaxy owners reporting a crackle near the camera on every haptic tap were told the motor tested fine and the noise came from the camera stabiliser's floating lens.

A weak buzz is usually damping or drive, not a worn motor. A thick case, a sofa or a pocket absorbs most of the output, so retest bare on a hard surface. If it is still weak and started after a screen or housing swap, suspect a displaced foam pad, a half-seated flex connector or a damaged dock flex. For a second opinion, open the accelerometer test and hold the long buzz: it is far too slow to draw the waveform, but its noise floor jumps when the motor is coupled to the frame.

Settings that silently disable haptics

Most "broken" vibration is a switch. Check these before booking a repair.

  • Separate intensity sliders. Android keeps ring, notification and touch feedback on independent controls under Sound & vibration → Vibration & haptics.
  • The keyboard has its own switch. Vibration for calls but nothing when typing is almost always this — Gboard hides it under Settings → Preferences → Haptic feedback on keypress.
  • Battery saver. Several Android skins drop touch feedback while power saving is on, so the fault looks intermittent.
  • Do Not Disturb and Focus suppress notification vibration only.
  • Dead touch areas. Touch feedback fires only where the digitiser registers the tap, so a haptically dead region may be a screen fault — check with the touch screen test first.

On Samsung hardware, dialling *#0*# opens firmware diagnostics whose vibration item drives the motor below Android. If that buzzes and this page does not, the hardware is fine.

What this vibration test cannot tell you

The browser sends a pattern of vibration and pauses. It cannot measure the strength, frequency or response time of the motor, and the operating system can shorten or suppress the request. A successful request does not confirm that you felt a vibration.

Compare the short and long patterns on the same phone. Comparing how strongly two different phones buzz is less useful here because this page has no force measurement. If the phone stays silent, check support and settings, then try its own haptic controls before deciding it needs service.

Frequently asked questions

Why did my phone suddenly stop vibrating?

Check the vibration sliders and battery saver first — a sudden, total loss of vibration is a setting or a stuck software state far more often than a failed motor. Reboot, then set ring, notification and touch feedback back to full, turn off power saving and Do Not Disturb, and retest. If it still does nothing, use the phone's own firmware diagnostics (*#0*# on Samsung); a motor that buzzes there but nowhere else is a software fault.

Keyboard haptics stopped working after I updated my iPhone. Did the update break it?

Restart the phone — in almost every report the haptics come back immediately, so the update stalled a service rather than damaging the Taptic Engine. Afterwards, toggle Settings → Sounds & Haptics → Keyboard Feedback → Haptic off and on again. If other haptics still work — the silent switch, a long press, the Action button — the hardware is fine by definition, because they all use the same actuator.

My phone vibrates for calls but there's no vibration when I type. What's wrong?

Nothing is wrong with the motor — keyboard vibration is a separate switch inside the keyboard app, not a system setting. Open your keyboard's own preferences (Gboard → Settings → Preferences → Haptic feedback on keypress, or the equivalent in Samsung Keyboard) and enable it there. On iPhone the same setting lives in Settings → Sounds & Haptics → Keyboard Feedback → Haptic, and Apple ships it switched off.

I replaced the housing and now the vibration motor is very weak. What did I miss?

Look at the flex connector and the motor's mounting before the motor itself. Weak output after a teardown usually means the actuator is not clamped tight to the frame, a foam or adhesive pad is displaced, or the dock flex that carries the drive signal is damaged or half-seated. Technicians in this case swapped the board into a known-good housing and replaced the dock flex to isolate it — test the same way rather than replacing the motor blind.

My phone makes a crackling, rattling sound near the camera when it vibrates. Is the motor broken?

Probably not — a crackle localised near the camera is usually the optical image stabiliser, not the vibration motor. The OIS suspends the lens on springs, and the haptic motor shakes it, which sounds like something loose. Galaxy owners who took this to a service centre were told the vibration motor tested fine. Compare with another unit of the same model: identical noise means it is normal, a much louder rattle means a loose bracket.

How much does it cost to repair the Taptic Engine, and can a vibration motor be replaced?

On Android, yes — the part is cheap and third-party shops swap it routinely, with labour making up most of the bill. On iPhone, Apple does not sell a Taptic Engine repair on its own; out of warranty it becomes a whole-unit service price, so check your coverage before paying a third party. Either way, opening the phone breaks the factory water seal permanently.

navigator.vibrate() is not working on iOS. How do I make an iPhone vibrate from a web page?

You cannot. WebKit does not implement the Vibration API, and since every browser on iOS is required to use WebKit, Chrome and Firefox on an iPhone fail exactly like Safari. Feature-detect with 'vibrate' in navigator and fall back to a visual or audio cue. The switch-toggle haptic hacks that circulate are undocumented, need a fresh tap since iOS 18.4, and break with Apple's releases.