The bookmarks.removeTree() method recursively removes a bookmark folder and all of its contents.

This is an asynchronous function that returns a Promise.


var removingTree = browser.bookmarks.removeTree(
  id                // string


A string specifying the ID of the folder node to be deleted along with its descendants.

Return value

A Promise that will be fulfilled with no arguments when the tree has been removed.

If the node corresponding to the id parameter can't be found, the promise is rejected with an error message.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic support Yes1547 No Yes


This example locates a bookmark folder named "MDN" and deletes it along with all of its contents.

function onRemoved() {
  console.log("bookmark item removed!");

function onRejected(error) {
  console.log(`An error: ${error}`);

function removeMDN(searchResults) {
  if (searchResults.length) {
    var removing = browser.bookmarks.removeTree(searchResults[0].id);
    removing.then(onRemoved, onRejected);

var searchingBookmarks ={ title: "MDN" });
searchingBookmarks.then(removeMDN, onRejected);


This API is based on Chromium's chrome.bookmarks API. This documentation is derived from bookmarks.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

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