Web App Manifest Validator
Validate a web app manifest.json — required fields, icons, start_url, scope, display mode, screenshots, and shortcuts.
About this tool
The Web App Manifest Validator checks a manifest.json against the W3C Web Application Manifest spec and common installability requirements. It runs two layers: first JSON syntax, then field-level rules — required fields, icon sizes, URL validity, color format, display/orientation enums, and known vs unknown keys.
Useful before shipping a PWA or when an "Add to Home Screen" prompt does not appear. A typical fix: a manifest missing short_name or a 512×512 icon will not pass Chrome's installability criteria — this tool points at the exact field.
Example: a manifest with only a name and no icons reports errors for missing icons and short_name; adding a 192×192 and 512×512 icon with purpose any maskable clears them.
Toggle strict mode to also flag non-standard categories, unusual icon MIME types, and BCP-47 language-tag format — off by default so legitimate real-world manifests do not drown in noise.
FAQ
What makes a PWA installable? ›
Chrome requires: served over HTTPS, a registered service worker with a fetch handler, a linked manifest (<link rel="manifest">) that has at least a name or short_name, a 192px and a 512px icon, and a start_url plus display mode other than "browser". This validator checks the manifest half of those requirements.
Do I need both "name" and "short_name"? ›
Strictly, the spec requires at least one. In practice both are needed for installability: name is the full app title, short_name is the home-screen icon label (often truncated to ~12 characters).
Why is my "any" sized icon still flagged? ›
Some browsers explicitly look for the literal "192x192" and "512x512" size strings. If all your icons use sizes: "any", the install prompt may not fire. Add explicit pixel sizes alongside the scalable variant.
Does this tool send my manifest anywhere? ›
No. Parsing and validation happen entirely in your browser. The "Share link" encodes the manifest into the URL hash, which never hits a server.
How do I create a new manifest from scratch? ›
Use the <a href="/pwa-manifest" class="text-accent hover:underline">PWA Manifest Generator</a> — a form-based builder with icon picker, shortcuts, screenshots, theme colors, and live JSON preview.