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

Update compatibility data on GitHub
ChromeEdgeFirefoxOperaFirefox for Android
setObjectChrome Full support Yes
Full support Yes
Notes If the jsonObject parameter is a string, it is not displayed.
Edge No support NoFirefox Full support 57
Full support 57
Notes If the jsonObject is a string, then rootTitle must also be given, or jsonObject will not be displayed. See bug 1412310.
Opera Full support YesFirefox Android No support No


Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.


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.