Web app manifest: the minimal one that works
Published Updated
The web app manifest is a JSON file that tells the browser how your site should
behave when it is installed as an app. It declares the app’s identity (name, icons,
id), its installation boundary (scope), how it renders once launched (display),
and OS integration points such as shortcuts and share_target.
A minimal manifest
Section titled “A minimal manifest”{ "name": "Weather Reports", "short_name": "Weather", "start_url": "/", "display": "standalone", "icons": [ { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" }, { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" } ]}Link it from every page you want installable:
<link rel="manifest" href="/manifest.webmanifest" />The specification defines the manifest as an application manifest linked with
rel="manifest"; every member below is optional in the format itself. What a given
browser requires before it will offer installation is a separate, browser-specific
question — see Install prompt rather than
assuming the spec settles it.
Which members to reach for first
Section titled “Which members to reach for first”- Identity —
nameandshort_namelabel the install prompt and the home-screen icon;idpins the app’s identity so a changed URL does not create a second install. - Entry and boundary —
start_urlis what launches;scopefences which URLs stay inside the app window. - Appearance —
display(withdisplay_override) chooses the window shape;iconsandtheme_color/background_colorsupply the home screen and splash.
Where it commonly goes wrong
Section titled “Where it commonly goes wrong”- A
start_urloutsidescope— the app launches, then immediately leaves its own window. - Serving the manifest with the wrong content type, or from a path the page cannot reach.
- Changing
start_urlwithout settingid, which some browsers treat as a different app. - Assuming a member is honoured everywhere; support varies per member and per platform.
Each linked page below carries its own browser-support table and cited sources.
Every member in this section
Section titled “Every member in this section”Where to go next
Section titled “Where to go next”- Install prompt — what browsers require before offering installation.
- Service Worker — the other half of an installable, offline-capable app.
← Back to the Reference overview.