Icon requirements
The icon must be a PNG image. 64×64 is the recommended size, though you can use a larger or smaller image if your design needs it. When MN draws the icon, it treats the image as an alpha mask: only the silhouette is kept and drawn in a single color using the interface color. Everything outside the artwork must therefore be fully transparent.Style guide
1. Focus on the core silhouette
Monochrome rendering conveys meaning entirely through the outer contour. Distill the most recognizable features of the subject and drop decorative detail that carries no meaning. At small sizes, complex lines tend to merge and lose their shape, so the clearer and simpler the silhouette, the more legible the icon.2. Compose with negative space
Because multiple color layers are not supported, depth, detail, and separation inside the icon must come from transparent negative space (cut-outs). Keep the gaps between cut-outs wide enough (at least 2 pixels is recommended) so anti-aliasing does not close them at small sizes.3. Avoid translucency and blur
Keep the artwork at 100% opacity. The alpha channel does support partial transparency, but low-opacity pixels blend with the interface foreground and end up looking faint or muddy. Only crisp, hard edges stay sharp and clear on every background.4. Balance visual weight
Center the icon on a 64×64 pixel canvas and keep its visual weight consistent:- Padding: leave a 4–6 pixel safe margin around the canvas so the artwork does not feel cramped.
- Optical alignment: for asymmetric shapes, align to the visual center rather than the geometric center. Pull square icons in slightly, and let elongated or circular icons extend a little, so that icons placed side by side read as the same size.
5. Standardize strokes and corners
- Stroke width: keep strokes and lines between 3 and 5 pixels, and avoid lines thinner than 3 pixels.
- Corners: use slightly rounded line ends and corners so the icon feels smooth and modern and matches the native interface conventions.
Manifest configuration
We recommend pointing to the icon inmnaddon.json with the icon field:
mnaddon.json
- Use the icon configured in the
iconfield. - If
iconis missing or invalid, use a PNG file named after the last segment ofaddonid. For example,addonidofmn.helloresolves tohello.png. - If that also fails, use the only PNG file in the add-on package.
The
icon value is resolved relative to the root of the add-on package. If the path contains .. or is absolute, MN refuses to import the package.