Skip to content

Web App Manifest: orientation support

Published

The manifest orientation member sets the default screen orientation an installed web app launches and runs in, such as portrait or landscape, unless the page locks a different orientation itself at runtime.

  • Legend
  • Yes
  • Partial
  • Flag
  • No
  • Unknown
Browser / PlatformSupportVersionsConfidenceSourceNotes
Chrome (Desktop)Yes39highsource—
Chrome (Android)Yes39highsource1
Edge (Desktop)Yes79highsource2
Firefox (Desktop)No—highsource3
Firefox (Android)Yes79highsource—
Safari (macOS)No—highsource4
Safari (iOS)No—highsource56
Samsung InternetYes4.0highsource7
WebView (Android)Yes39highsource8
  1. Derived by browser-compat-data mirroring from Chrome.
  2. Derived by browser-compat-data mirroring from Chrome.
  3. No Firefox support is recorded in browser-compat-data.
  4. No Safari support is recorded in browser-compat-data.
  5. No Safari on iOS support is recorded in browser-compat-data.
  6. Derived by browser-compat-data mirroring from Safari.
  7. Derived by browser-compat-data mirroring from Chrome Android.
  8. Derived by browser-compat-data mirroring from Chrome Android.

Source data: /compatibility/manifest-orientation.json · Global usage: 74 % (StatCounter 2026-05)

Source: spec · MDN · Last verified 2026-10-03 · Confidence: high (computed from sources)

Declare the member in the web app manifest with one of the spec’s keyword values:

{
"name": "Field Notes",
"start_url": "/",
"display": "standalone",
"orientation": "portrait"
}

MDN separately documents the Screen Orientation API, whose lock() method a page can feature-detect before calling:

function supportsOrientationLock() {
return 'orientation' in screen && typeof screen.orientation.lock === 'function';
}
async function lockLandscape() {
if (!supportsOrientationLock()) return;
try {
await screen.orientation.lock('landscape');
} catch {}
}
  • Per the spec, orientation sets the default orientation for all top-level traversables of the web app; a requested value’s support is conditional on the user agent honoring it.
  • MDN documents that if the member is omitted or set to an invalid value, the app will typically use the device’s natural orientation plus any user or system-level orientation settings.
  • Per the spec, a user agent may support the manifest orientation member without implementing the separate Screen Orientation API — the two are independent capabilities.
  • Omitting orientation is valid — per MDN, apps that work well in either orientation can simply leave it out.

← Back to the Compatibility explorer.