manifest.json you can download. Not a PWA audit.Fill name, start_url, display, icon paths, and optional shortcuts. We print JSON in this tab. We do not fetch those icon files, we do not register a service worker, and Chrome’s install criteria still run on your origin.
Provide at least 192×192 and 512×512 PNGs for install prompts on Chromium-based browsers. Add a maskable icon so adaptive icons look correct on Android.
Quick actions shown on long-press / right-click of the installed app icon (where supported).
{}
Use it to scaffold a manifest.json: name, short_name, start_url, scope, display, theme colors, icon path rows, optional shortcuts.
Then host the file and link it from HTML. Chrome DevTools → Application → Manifest is still the install check.
Do not treat this page as a PWA audit. We never fetch your src paths, we do not register a service worker, we do not
confirm HTTPS, and we do not wrap the site as a Trusted Web Activity for Play. Icon purpose: maskable is a JSON flag — it does not pad the PNG.
Required: a non-empty name. Everything else is omitted if blank. Icon rows become { src, sizes, type, purpose }
only when src is set; purpose is left off when it is any. Shortcuts need both name and URL.
orientation: any is omitted so the JSON stays quiet. Copy or download — strings stay in the tab.
After you host it:
<link rel="manifest" href="/manifest.json" />
Prefer application/manifest+json (or application/json). An HTML 404 at that URL fails installability with no useful UI.
Name My Tasks, short_name Tasks, start_url and scope /, display standalone, two icons:
{
"name": "My Tasks",
"short_name": "Tasks",
"start_url": "/",
"scope": "/",
"display": "standalone",
"icons": [
{ "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
]
}
Export the 192/512 bitmaps from the icon generator, then add a real maskable asset (safe-zone padding) — see the safe-zone note. Offline still needs a service worker on HTTPS (or localhost).
start_url outside scope — launch opens a normal tab.short_name that still truncates under a circle mask. Test on a launcher, not only this preview.App icon sizes · Service worker generator · Maskable / adaptive safe zone
No. It writes JSON. Chrome still requires a valid manifest URL, icons that load, a service worker, and a secure origin.
No. Paths are strings. If the file is missing on your host, this page will not tell you.
name is the install dialog / splash title. short_name is the cramped home-screen label. Omit it and the browser truncates name.
No. TWA / Play wrapping is a separate Android project. This file is for the web origin only.