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.

PWA & Browser Storage Local processing Pasted manifest JSON is processed in your browser.

Tool interface

Fetching a URL makes a request from your browser to that URL. If the request is blocked by CORS, paste the manifest contents instead.

Results

Awaiting analysis.

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 URL constructor.
  • Icon size declarations are parsed from the sizes attribute.
  • Results are rendered using safe DOM text nodes, not raw HTML injection.

How to use

  1. Open your web app manifest file.
  2. Copy the full JSON content.
  3. Paste it into the manifest field.
  4. Optionally enter your site URL to resolve relative paths.
  5. Click Analyze manifest.
  6. Review errors, warnings, and recommendations.
  7. 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 name and short_name.
  • Use standalone, fullscreen, or minimal-ui.
  • Include explicit 192×192 and 512×512 raster icons.
  • Set id if the app identity should remain stable.
  • Keep start_url within scope.
  • Serve the live site over HTTPS.
  • Test the live page in browser DevTools after fixing manifest issues.

Common mistakes

  • Using display: browser or omitting display.
  • Referencing icons with broken relative paths.
  • Declaring only one icon size.
  • Using sizes: "any" without explicit raster sizes.
  • Setting prefer_related_applications to true unintentionally.
  • 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.

References

Version and changelog

  • Version: 1.0.0
  • Last updated: August 8, 2026
  • Changelog: Initial production release.