Fill the fields and copy a valid manifest plus the <link> tag. Required fields for installability are marked.
<head>:<link rel="manifest" href="/manifest.json">application/manifest+json MIME type.See how the same app launches with each display mode and theme_color. Only standalone/fullscreen/minimal-ui count as "installed".
Platforms crop icons to different shapes. A non-maskable icon gets a white box; a maskable one keeps content inside the safe zone (a circle of radius 40% of the width).
purpose: "maskable" (content padded into the safe zone)The real flow: capture beforeinstallprompt, stash it, show your own button, and call .prompt() on click. This page tries the real event; if unavailable, it simulates it.
Paste a manifest (or use the sample). Checks required fields, icon sizes, start_url-in-scope, display mode, and the maskable-icon recommendation.