Keep extension branding and action UI consistent by declaring icons in manifest fields that Extension.js can validate, rewrite, and emit predictably.
Extension.js processes icon paths from manifest.json, resolves public/relative paths, emits icon assets, and watches icon files during development.
| Capability | What it gives you |
|---|---|
| Manifest icon field support | Validate and compile icons for supported extension surfaces |
| Path resolution | Handle relative and public-root icon paths consistently |
| Dev watch updates | Recompile icon changes during local development |
| Browser-safe output | Emit icon assets in extension output with stable references |
| Manifest field | File type expected |
|---|---|
action.default_icon |
.png, .jpg, .svg |
browser_action.default_icon |
.png, .jpg, .svg |
icons |
.png, .jpg, .svg |
page_action.default_icon |
.png, .jpg, .svg |
sidebar_action.default_icon |
.png, .jpg, .svg (*) |
browser_action.theme_icons |
.png, .jpg, .svg |
Note: Support for
.svgis currently partial in some browsers forsidebar_action.default_icon. Review browser compatibility before using SVGs in this context.
manifest.jsonTypical icon outputs:
/ and public/... resolve to extension public-root semantics.16, 32, 48, 128) for sharper UI across browser surfaces.