Help centre
Answer
Can a PWA vibrate the device?
Short answer
Yes, on Android. Calling navigator.vibrate(200) (milliseconds, or an array of on/off durations) triggers haptic vibration on Android Chrome and other Chromium Android browsers, commonly used for game feedback or notification cues. iOS Safari does not implement the Vibration API at all, so it has no effect on iPhone or iPad.
By InstantPWA engineering·Reviewed July 25, 2026
Usage
navigator.vibrate(number) for a single pulse, or navigator.vibrate([100, 50, 100]) for a pattern of vibrate/pause durations in milliseconds.
Platform support
Supported on Android Chrome, Firefox for Android and other Chromium Android browsers. Not supported on any iOS browser or on desktop.
Practical use
Feature-detect with "vibrate" in navigator before calling it, and treat it as a progressive enhancement rather than a required interaction cue.
Sources
Related
Can a PWA access the camera?
Yes. A PWA can access the camera, microphone, geolocation and file system through the same Web APIs a regular website uses (getUserMedia, showOpenFilePicker, Geolocation). Every capability requires explicit user permission and works cross-platform, though a few APIs (Bluetooth, USB, NFC) are still Chromium-only.
What is a PWA?
A PWA (Progressive Web App) is a regular website that meets three technical criteria — HTTPS, a Web App Manifest and a service worker — so browsers let visitors install it on their home screen. Once installed, it launches like a native app, works offline and can send push notifications.
Can a PWA access the user’s contacts?
A PWA can access contacts only through the Contact Picker API, which opens the device’s native contact picker so the user explicitly selects which contacts to share — there is no way for a site to read the whole address book silently. It is supported on Android Chrome and some other Chromium Android browsers; iOS Safari and desktop browsers do not support it.
Can a PWA read NFC tags?
Yes, but only on Android. The Web NFC API lets a page read and write NDEF-formatted NFC tags using the NDEFReader interface, with an explicit user permission prompt. It is supported on Android Chrome (and other Chromium Android browsers) only — iOS Safari and desktop browsers do not implement Web NFC as of 2026.
Can a PWA connect to USB devices?
Yes, through the WebUSB API, supported on Chrome, Edge and other Chromium desktop and Android browsers. navigator.usb.requestDevice() prompts the user to select a connected USB device, after which the page can send and receive raw USB data — used by tools like Arduino IDE’s web version and firmware flashers. Firefox and Safari do not support WebUSB.