The CookieStore type of the cookies API represents a cookie store in the browser.

Windows in different browsing modes may use different cookie stores. For example, a private browsing/incognito mode window uses a separate cookie store from a non-incognito/private window. Also, a window may have several cookie stores when using container tabs in Firefox.

See Work with the Cookies API for more information about cookie stores.


Values of this type are objects, which can contain the following properties:


A string representing the unique identifier for the cookie store.

incognito Optional

A boolean value that indicates whether this is an incognito cookie store. This property is not supported in Chrome or Safari. However, you can identify incognito cookie stores in Chrome because their id is always "1".


An array of integers, which identifies all of the browser tabs that share this cookie store.

Browser compatibility

BCD tables only load in the browser


In the following snippet, the cookies.getAllCookieStores() method is used to retrieve all the cookie stores currently available in the browser, and print out each cookie store ID, and the tabs that currently share each cookie store.

function logStores(cookieStores) {
  for (const store of cookieStores) {
    console.log(`Cookie store: ${}\n Tab IDs: ${store.tabIds}`);


The following code snippet gets all cookie stores and then logs the total number of stores and how many of those stores are incognito.

browser.cookies.getAllCookieStores().then((stores) => {
  const incognitoStores = => store.incognito);
    `Of ${stores.length} cookie stores, ${incognitoStores.length} are incognito.`,

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