Glossary

Definition

id (manifest field)

Short definition

id is a manifest field, for example "id": "/app-v1", used as the app's permanent identifier for the OS install registry. Unlike start_url, id is not meant to change; if it is omitted, the browser derives an identity from start_url instead, which means later changing start_url can register as a brand-new app.

Reviewed July 24, 2026

The field was added to solve real duplicate-install bugs where sites changed their start_url (for example adding a new tracking parameter) and users ended up with two separate home-screen icons for what should be one app.

id is resolved relative to the manifest's origin the same way start_url is, and best practice is to set it once, early, and never change it — treat it like a package name.

Chromium uses the pair (origin, id) to decide whether an install request refers to an app already installed; this is documented in the Web App Manifest identity explainer from the Chrome team.

If you are already running InstantPWA-style install prompts, adding an explicit id retroactively is safe — the browser will treat the existing start_url-derived identity and the new id as the same app only if they resolve to the same manifest, so test on a scratch profile before rolling it to production.

Related terms
start_url (manifest field)
start_url is the manifest field that sets the exact URL loaded when a user taps the installed app icon. It is resolved relative to the manifest URL, so "start_url": "/?source=pwa" launches the origin root with a query string you can use to distinguish installed-app sessions from browser-tab sessions in analytics.
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. The browser reads it to render the install prompt and the home-screen icon.
Related applications
related_applications is a manifest array such as [{"platform": "play", "id": "com.example.app"}] listing native app store equivalents of the PWA. The companion boolean field prefer_related_applications, when true, tells Chromium to prefer directing the user to install the native app instead of showing the web install prompt.
orientation (manifest field)
orientation is a manifest field, e.g. "orientation": "portrait-primary", that requests a fixed screen orientation for the installed app. Accepted values include any, natural, landscape, portrait, portrait-primary, portrait-secondary, landscape-primary and landscape-secondary.
categories (manifest field)
categories is an optional manifest array, for example "categories": ["shopping", "business"], drawn loosely from a W3C-maintained list of common app-store category names. It has no effect on install eligibility or on-page behaviour and is purely metadata consumed by platforms that list PWAs alongside native apps.
protocol_handlers (manifest field)
protocol_handlers is a manifest array such as [{"protocol": "web+music", "url": "/play?track=%s"}] that registers the installed app as a handler for a URL scheme. Clicking a web+music: link anywhere in the OS, after the user confirms a one-time permission prompt, opens the app at the given URL with %s replaced by the encoded link.