microsoft-edgebrowser-extensionmanifest.jsonmicrosoft-edge-extension

Extension’s icon not showing up in Edge


I’ve defined an icon for my extension with default_icon, but it still shows up as just a puzzle icon in Edge.

puzzle icon in toolbar

Here’s my manifest.json:

{
   "name": "The hey say extension",
   "version": "0.0.0.1",
   "manifest_version": 2,
   "description": "I say “hey”, when you click on me!",
   "browser_action": {
      "default_popup": "HeySay settings and play.html", 
      "default_icon": "HeySay icon!🙂.png"
   }
}

I have used a JSON validation tool to confirm that it’s valid JSON.


Solution

  • The compatibility table at MDN has the following note for Edge/default_icon (emphasis mine):

    Partial support

    SVG icons are not supported.

    'default_icon' must be an object, with explicit sizes.

    So you must use the alternate form that specifies sizes (or at least a single size):

       "browser_action":{
          "default_popup":"HeySay settings and play.html", 
          "default_icon": {
            "32": "HeySay icon!🙂.png"
          }
       }
    

    The size of 32 seems to be guaranteed to be supported; your icon should be scaled down to fit. If you specify the actual dimensions (53) it might not work.

    Of course, it's best if you actually have icons for at least sizes 32x32 and 64x64 in those exact resolutions.