Cookie Store API

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Service Workers.

The Cookie Store API is an asynchronous API for managing cookies, available in windows and also service workers.

Concepts and Usage

The existing method of getting and setting cookies involves working with document.cookie as a string of key/value pairs. In addition to this being cumbersome and error prone, it also has a host of issues in the context of modern web development.

The document.cookie interface is synchronous, single-threaded, and blocking. When writing a cookie you must wait for the browser to update the string of all cookies. In addition, the reliance on document means that cookies cannot be accessed by service workers which cannot access the document object.

The Cookie Store API provides an updated method of managing cookies. It is asynchronous and promise-based, therefore does not block the event loop. It does not rely on document and so is available to service workers. The methods for getting and setting cookies also provide more feedback by way of error messages. This means that web developers do not have to set then immediately read back a cookie to check that setting was successful.

Interfaces

CookieStore Experimental

The CookieStore interface enables getting and setting cookies.

CookieStoreManager Experimental

The CookieStoreManager interface provides a service worker registration to enable service workers to subscribe to cookie change events.

CookieChangeEvent Experimental

A CookieChangeEvent named change is dispatched against CookieStore objects in Window contexts when any script-visible cookies changes occur.

ExtendableCookieChangeEvent

An ExtendableCookieChangeEvent named cookiechange is dispatched in ServiceWorkerGlobalScope contexts when any script-visible cookie changes occur that match the service worker's cookie change subscription list.

Extensions to other interfaces

ServiceWorkerGlobalScope.cookieStore Read only Experimental

Returns a reference to the CookieStore object associated with the service worker.

ServiceWorkerRegistration.cookies Read only Experimental

Returns a reference to the CookieStoreManager interface, which enables a web app to subscribe to and unsubscribe from cookie change events.

Window.cookieStore Read only Experimental

Returns a reference to the CookieStore object for the current document context.

cookiechange event Experimental

Fired when any cookie changes have occurred which match the service worker's cookie change subscription list.

Specifications

Specification
Cookie Store API

Browser compatibility

api.CookieStore

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CookieStore
change event
delete
partitioned option
get
partitioned in return value
Experimental
getAll
partitioned in return value
Experimental
set
partitioned option

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

api.CookieStoreManager

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CookieStoreManager
getSubscriptions
subscribe
unsubscribe

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

See also