Displays a JSON object in the extension's sidebar pane.

The object is displayed as an expandable tree, as in the JSON viewer in Firefox. You can optionally specify a rootTitle string: this will be displayed as the title of the tree's root.

This is an asynchronous function that returns a Promise.


var setting = browser.devtools.panels.setObject(
  jsonObject,       // string, array, or JSON object
  rootTitle         // string


String or Array or Object. The object to display. If this is an object it is JSON-serialized, so properties like functions will be omitted.
rootTitle Optional
String. The title of the root of the tree in which the object is displayed.

Return value

A Promise that will be fulfilled with no arguments, once the object has been set.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic support Yes1 No572 No Yes

1. If the jsonObject parameter is a string, it is not displayed.

2. If the jsonObject is a string, then rootTitle must also be given, or jsonObject will not be displayed. See bug 1412310.


Create a new pane, and populate it with a JSON object. You could run this code in a script loaded by your extension's devtools page.

function onCreated(sidebarPane) {
    someBool: true,
    someString: "hello there",
    someObject: {
      someNumber: 42,
      someOtherString: "this is my pane's content"

browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);


This API is based on Chromium's chrome.devtools.panels API.

Document Tags and Contributors

Contributors to this page: wbamberg
Last updated by: wbamberg,