Learn Measure Blog Live About

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 a 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 do not 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.

Caution: Lighthouse does not inspect the image that's specified as the maskable icon. You'll need to manually verify that the image displays well.

Each Best Practices audit is weighted equally in the Lighthouse Best Practices Score. Learn more in The Best Practices score.

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 or any maskable. See Values.

    {

    "icons": [

    {
    "src": "path/to/maskable_icon.png",
    "sizes": "196x196",
    "type": "image/png",
    "purpose": "any maskable"
    }
    ]

    }
  3. Use Chrome DevTools to verify that the maskable icon is displaying correctly. See Are my current icons ready?

Resources

Last updated: Improve article