Manifest doesn't have a maskable icon

Maskable icons is a new icon format that ensures that your PWA icon looks great on all Android devices. On newer Android devices, PWA icons that don't follow the maskable icon format are given a white background. When you use a maskable icon, it ensures that the icon takes up all of the space that Android provides for it.

How the Lighthouse maskable icon audit fails

Lighthouse flags pages that don't have maskable icon support:

The maskable icon audit in the Lighthouse Report UI.

In order to pass the audit:

  • A web app manifest must exist.
  • The web app manifest must have an icons array.
  • The icons array must contain one object with a purpose property, and the value of that purpose property must include maskable.

How to add maskable icon support to your PWA

  1. Use Maskable.app Editor to convert an existing icon to a maskable icon.
  2. Add the purpose property to one of the icons objects in your web app manifest. Set the value of purpose to maskable. See Values.

    {
      …
      "icons": [
        …
        {
          "src": "path/to/maskable_icon.png",
          "sizes": "196x196",
          "type": "image/png",
          "purpose": "maskable"
        }
      ]
      …
    }
    
  3. Use Chrome DevTools to verify that the maskable icon is displaying correctly. See Are my current icons ready?

Resources