sidebar\_action
===============

|  |  |
| --- | --- |
| Type | `Object` |
| Mandatory | No |
| Manifest version | 2 or higher |
| Example | 
```json
"sidebar\_action": {
  "default\_icon": {
    "16": "button/geo-16.png",
    "32": "button/geo-32.png"
  },
  "default\_title": "My sidebar",
  "default\_panel": "sidebar/sidebar.html",
  "open\_at\_install":true
}
```
 |
|  |  |

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.

Syntax
------

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 |
| --- | --- | --- |
| `browser\_style`Optional
Deprecated
 in Manifest V3. | `Boolean` | 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).
  |
| `default_icon`Optional | `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:

```json
"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:


```json
    "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.
  |
| `default_title`Optional | `String` | 
 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.
  |
| `open_at_install`Optional | 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.
  |

Example
-------


```json
"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 with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* `browser_action`
* `page_action`
* Browser styles