deftools.io Web & Browser

Web App Manifest Validator

Validate a web app manifest.json — required fields, icons, start_url, scope, display mode, screenshots, and shortcuts.

Manifest JSON
Validates as you type. JSON syntax + manifest field rules.
Paste a manifest to validate
Copied!

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.

Related web & browser tools

Copied!