The <install> element is a declarative HTML element that allows web developers
to offer installation of web applications directly from a page. It renders a
user-agent-controlled button whose text and iconography are determined by the
browser, providing a strong signal of user intent and protection against spoofing.
The element is part of the Permission Element
family, sharing the same security model, styling restrictions, and validation
infrastructure.
The <install> element is one of two entry points to web app installation
initiated by a website. The other is the Web Install API - navigator.install() -
which provides a promise-based JavaScript entry point. Both share a single backend
implementation — manifest fetch, validation, consent UI, and error taxonomy.
There are currently two explainers for the <install> element that reflect two
different methods of specifying which web app to install. One accepts an
installurl, and the other accepts a manifest URL.
Here for Origin Trials? Use this explainer.
- Attributes:
installurl(a page URL) andmanifestid(the app's computed manifest id). - How it works: On activation, the element loads the page at
installurlin the background, discovers its<link rel="manifest">, fetches and validates the manifest, then presents the installation dialog. - This design will reach end of life at its Origin Trial conclusion.
- Attributes:
manifest(a manifest URL) andid(the app's computed manifest id). - How it works: On activation, the element fetches the manifest directly from the supplied URL, skipping the intermediate page load.
- This design eliminates the document-fetch step, reducing latency and removing the cross-origin HTML parse surface. It is expected to replace the install-URL design.
- W3C TAG Review: PENDING
- Browser Standards Positions:
- Chromium: Supportive/Implementing
- Mozilla: mozilla/standards-positions#1179
- WebKit: WebKit/standards-positions#463
This proposal builds on the Permission Element (PEPC) infrastructure and the Web Install API.
Many thanks for valuable feedback and advice from:
- Daniel Murphy
- Rob Paveza
- Lu Huang
- Alex Russell
- Arthur Sonzogni