PWA Manifest Installability Predictor
Check a web app manifest against common installability criteria and understand why a progressive web app install prompt may not appear.
Tool interface
Results
Copy this report to share results with teammates or paste it into a bug ticket.
Introduction
A progressive web app can fail to show an install prompt for reasons that are not always obvious. The manifest may parse correctly, yet still miss a field, use a non-installable display mode, or reference icons that do not satisfy common browser expectations.
This tool gives you a fast local checklist. Paste your
manifest.webmanifest or manifest.json content, optionally
provide your site URL, and run the analysis. The tool highlights blocking issues,
warnings, and recommendations.
How it works
The tool parses the manifest with standard browser JSON parsing. It then resolves relative URLs against the optional Site URL and checks the manifest against common installability signals used by modern browsers.
- JSON is parsed locally using
JSON.parse(). - URLs are resolved using the browser’s native
URLconstructor. - Icon size declarations are parsed from the
sizesattribute. - Results are rendered using safe DOM text nodes, not raw HTML injection.
How to use
- Open your web app manifest file.
- Copy the full JSON content.
- Paste it into the manifest field.
- Optionally enter your site URL to resolve relative paths.
- Click Analyze manifest.
- Review errors, warnings, and recommendations.
- Copy the report if you need to share it.
Practical example
A minimal installable manifest usually includes a name, a start URL, an installable display mode, and icons:
{
"name": "Example Notes",
"short_name": "Notes",
"id": "/",
"start_url": "/",
"scope": "/",
"display": "standalone",
"background_color": "#0f172a",
"theme_color": "#0d9488",
"icons": [
{
"src": "/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
}
]
}
You can load this example directly using the Load example button.
Use cases
- Debugging a missing browser install button.
- Reviewing a manifest before deployment.
- Checking icon requirements for launcher icons.
- Validating relative manifest paths against a site URL.
- Creating a shareable QA report for a PWA ticket.
Best practices
- Provide both
nameandshort_name. - Use
standalone,fullscreen, orminimal-ui. - Include explicit 192×192 and 512×512 raster icons.
- Set
idif the app identity should remain stable. - Keep
start_urlwithinscope. - Serve the live site over HTTPS.
- Test the live page in browser DevTools after fixing manifest issues.
Common mistakes
- Using
display: browseror omittingdisplay. - Referencing icons with broken relative paths.
- Declaring only one icon size.
- Using
sizes: "any"without explicit raster sizes. - Setting
prefer_related_applicationstotrueunintentionally. - Forgetting that manifest validity alone does not guarantee installability.
Limitations
- This tool cannot verify that your site is served over HTTPS unless enough URL context is provided.
- This tool cannot verify service worker registration or fetch handlers.
- Browser vendors may change installability criteria over time.
- Fetching a remote manifest URL may fail because of CORS or network restrictions.
- The tool checks manifest content, not the full installed-app experience.
Browser compatibility
The tool itself runs in current versions of Chrome, Edge, Firefox, and Safari. The underlying installability behavior it helps you debug varies by browser:
- Chrome and Edge: Strong manifest-based install prompt support.
- Firefox: Manifest support exists, but install prompt behavior differs.
- Safari: iOS and macOS install behavior follows Apple’s Add to Home Screen rules and may not use all manifest fields in the same way.
FAQ
Is my manifest uploaded to a server?
No. Pasted manifest JSON is processed locally in your browser. If you use the optional Fetch URL feature, your browser requests that URL directly.
Why does the tool say the manifest looks good but the app still does not install?
Manifest correctness is only one part of installability. Browsers may also require HTTPS, service worker behavior, user engagement, or platform-specific conditions.
What icon sizes should I include?
Include explicit 192×192 and 512×512 PNG icons. Additional sizes and maskable icons can improve presentation on different platforms.
Can it check relative icon paths?
Yes. Enter your site URL in the optional Site URL field. Relative paths are then resolved against that URL.
Does it validate service workers?
No. This tool focuses on manifest content. Use browser DevTools to inspect service worker registration and runtime behavior.