Tools
Web app manifest checker
A web app manifest checker finds the manifest a page declares, fetches it once, and parses it to list the fields that are missing. The reason this is worth checking rather than assuming is that an incomplete manifest fails silently: the file is served, it parses, the browser reads it, and the install prompt simply never appears — with nothing in the interface or the console saying which field was the reason.
What the manifest controls
Whether the browser offers to install the site to a home screen at all, and what the entry is called once it is there.
Which icon is used, at the sizes the operating system asks for — and those requirements differ between platforms.
How the installed application launches: in a browser tab, in a standalone window, or full screen.
The colours applied to the surrounding interface and to the splash screen shown while the application starts.
Which URL the installed entry opens, which does not have to be the page that declared the manifest.
Why the failure is silent
The install prompt is offered by the browser when a set of conditions is met. When one is not, the prompt is not offered and nothing reports why.
A missing icon at a required size is the usual cause, and it is invisible: the manifest is valid, the icons declared work fine in every other context, and the one size the platform wanted is absent.
A missing display mode is the next most common, because a manifest without it falls back to a mode the browser does not treat as installable.
The name fields matter too — a manifest without a short name has nothing to put under an icon on a home screen.
So the check lists the recommended fields that are missing, which is the closest thing to an explanation the platform will give you.
What a complete manifest declares
Both a full name and a short name, since the second is what appears under the icon where space is limited.
Icons at the sizes the platforms ask for, including a maskable variant so the icon is not cropped awkwardly by an operating system that applies its own shape.
A display mode, a start URL and a scope, so the installed application knows what belongs to it and what should open in a browser.
Theme and background colours, which is what makes the launch look like an application rather than a page loading.
None of this is required to have a working website. It is required to have an installable one, which is a different goal.
When this is worth checking at all
When an install prompt is expected and does not appear, which is the case this check exists for.
After a build system change, since manifests are frequently generated and a generator upgrade can drop fields quietly.
After moving the site to a subdirectory or a new hostname, which breaks the start URL and the scope together.
Not at all on a site that is not meant to be installable. A missing manifest is not reported as a defect, because most sites do not want one.
What VeriFixScan uses
`exposure.manifest.present` detects a manifest declared by the pages and fetches it once.
`exposure.manifest.valid` parses the served file and lists the recommended fields that are missing.
The manifest is fetched once per scan rather than per page, since a site declaring several different manifests is a separate and much rarer problem.
The limits, stated plainly
The file is parsed and its fields listed. Whether a browser offers to install the site depends on that browser's own criteria, which differ between engines and change over time.
Declared icons are not fetched and their dimensions are not verified, so an icon declared at a size it is not really rendered at is not caught.
Service worker registration is a separate requirement for installability on some platforms and is outside this check.
A missing manifest is reported as absent, not as a defect.
Frequently asked questions
- My manifest is valid but no install prompt appears. Why?
- Most often a missing icon at a size the platform requires, or a missing display mode. Both leave the file valid and the prompt unoffered, and the browser gives no reason — which is why the field list is the useful output.
- Does every site need a manifest?
- No. It exists to make a site installable to a home screen. A site that does not want that gains nothing from one, and its absence is reported as absence rather than as a defect.
- What is a maskable icon for?
- Operating systems apply their own shape to home-screen icons. A maskable variant declares enough safe margin that the crop does not cut into the artwork, which is why a normal icon often looks wrong once installed.
Sources
Related
VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.
Scan a website