Type Object
Mandatory No
Manifest version 2 or higher
"sidebar_action": {
  "default_icon": {
    "16": "button/geo-16.png",
    "32": "button/geo-32.png"
  "default_title": "My sidebar",
  "default_panel": "sidebar/sidebar.html",

A sidebar is a pane that is displayed at the left-hand side of the browser window, next to the web page. The browser provides a UI that enables the user to see the currently available sidebars and to select a sidebar to display.

The sidebar_action key enables you to define the default properties for the sidebar. You can change these properties at runtime using the sidebarAction API.


The sidebar_action key is an object that may have any of the properties listed below. The only mandatory property is default_panel.

Name Type Description
Deprecated in Manifest V3.

Optional, defaulting to:

  • true in Manifest V2 and prior to Firefox 115 in Manifest V3.
  • false in Manifest V3 from Firefox 115.

Do not set browser_style to true: its not support in Manifest V3 from Firefox 118. See Manifest V3 migration for browser_style.

In Firefox, the stylesheet can be seen at chrome://browser/content/extension.css or chrome://browser/content/extension-mac.css on macOS. When setting dimensions, be aware that this stylesheet sets box-sizing: border-box (see box-sizing).

Object or String

Use this to specify one or more icons for the sidebar. The icon is shown in the browser's UI for opening and closing sidebars.

Icons are specified as URLs relative to the manifest.json file itself.

You can specify a single icon file by supplying a string here:

"default_icon": "path/to/geo.svg"

To specify multiple icons in different sizes, specify an object here. The name of each property is the icon's height in pixels, and must be convertible to an integer. The value is the URL. For example:

    "default_icon": {
      "16": "path/to/geo-16.png",
      "32": "path/to/geo-32.png"

See Choosing icon sizes for more guidance on this.

This property is optional: if it is omitted, the sidebar doesn't get an icon.

default_panel String

The path to an HTML file that specifies the sidebar's contents.

The HTML file may include CSS and JavaScript files using <link> and <script> elements, just like a normal web page.

Unlike a normal web page, JavaScript running in the panel can access all the WebExtension APIs (subject, of course, to the extension having the appropriate permissions).

This property is mandatory.

This is a localizable property.


Title for the sidebar. This is used in the browser UI for listing and opening sidebars, and is displayed at the top of the sidebar when it is open.

This property is optional: if it is omitted, the sidebar's title is the extension's name.

This is a localizable property.

Boolean Optional, defaulting to true. Determines whether the sidebar should open on install. The default behavior is to open the sidebar when installation is completed.


"sidebar_action": {
  "default_icon": "sidebar.svg",
  "default_title": "My sidebar!",
  "default_panel": "sidebar.html"

For a simple example of an extension that uses a sidebar, see annotate-page.

Browser compatibility

BCD tables only load in the browser

See also