Sets the background color for the badge. Tabs without a specific badge background color will inherit the global badge background color, which defaults to [217, 0, 0, 255] in Firefox.

Note: This API is available in Manifest V3 or higher.

In Firefox, unless the badge text color is explicitly set using action.setBadgeTextColor(), then the badge text color iw automatically set to black or white to maximize contrast with the specified badge background color. For example, if you set the badge background color to white, the default badge text color is set to black, and vice versa.

Other browsers always use a white text color, so setting a dark background may be preferable to ensure the text is readable.


  details // object



An object with the following properties:


The color, specified as one of:

  • a string: any CSS <color> value, for example "red", "#FF0000", or "rgb(255,0,0)". If the string is not a valid color, the returned promise will be rejected and the background color won't be altered.
  • a action.ColorArray object.
  • null. If a tabId is specified, it removes the tab-specific badge background color so that the tab inherits the global badge background color. Otherwise it reverts the global badge background color to the default value.
tabId Optional

integer. Sets the badge background color only for the given tab. The color is reset when the user navigates this tab to a new page.

windowId Optional

integer. Sets the badge background color only for the given tab.

  • If windowId and tabId are both supplied, the function fails and the color is not set.
  • If windowId and tabId are both omitted, the global badge background color is set instead.


A background color that starts off as red, and turns green when the browser action is clicked:

browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeBackgroundColor({ color: "red" });

browser.action.onClicked.addListener(() => {
  browser.action.setBadgeBackgroundColor({ color: "green" });

Set the badge background color only for the active tab:

browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeBackgroundColor({ color: "red" });

browser.action.onClicked.addListener((tab) => {
    color: "green",

Browser compatibility

BCD tables only load in the browser

The default color in Firefox is: [217, 0, 0, 255].

Note: This API is based on Chromium's chrome.action API. This documentation is derived from browser_action.json in the Chromium code.