Help centre

Answer

How does a PWA enter fullscreen mode?

Short answer

A PWA can enter fullscreen two ways: programmatically, by calling element.requestFullscreen() in response to a user gesture (common for games and video players), or declaratively, by setting the manifest’s "display" field to "fullscreen" so the installed app always launches without any system UI at all, including the status bar.

By InstantPWA engineering·Reviewed July 25, 2026

The Fullscreen API

document.documentElement.requestFullscreen() hides all browser and OS chrome; document.exitFullscreen() reverses it. Must be triggered by a user gesture.

Manifest display: fullscreen

Distinct from "standalone" — fullscreen also hides the system status bar, which standalone keeps visible. Best suited to games rather than everyday utility apps.

Fallback

If "fullscreen" is unsupported the manifest falls back to "standalone", then "minimal-ui", then "browser".

Related
Can a PWA lock screen orientation?
Yes. The Screen Orientation API’s screen.orientation.lock("landscape") method (or "portrait") can force a specific orientation, but on most browsers it only works while the page is in fullscreen mode via the Fullscreen API. An installed PWA can also declare a preferred orientation directly in its manifest with the "orientation" field, which locks orientation for the whole standalone app.
What is a Web App Manifest?
A Web App Manifest is a JSON file — usually manifest.webmanifest — that declares your app’s name, icons, start URL, theme colour and display mode. Browsers read it to decide whether to offer the install prompt and what icon and name to show on the home screen.
Can a PWA vibrate the device?
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.
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.