Help centre

Answer

Can a PWA lock screen orientation?

Short answer

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.

By InstantPWA engineering·Reviewed July 25, 2026

Manifest-level lock

Setting "orientation": "portrait" (or landscape, any, natural) in manifest.webmanifest applies to the entire installed app window without JS.

JS API lock

screen.orientation.lock() works in a regular browser tab only after entering fullscreen, and throws on some browsers if fullscreen is not active.

iOS support

iOS Safari has limited support for programmatic orientation locking compared to Android Chrome.

Related
How does a PWA enter fullscreen mode?
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.
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.