This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The unregister() method was used to ask the system to unregister and delete the specified endpoint. In the updated API, a subscription is can be unregistered via the PushSubscription.unsubscribe() method.


var request = navigator.push.unregister(pushEndpoint);


A pushEndpoint to be unregistered.


A DOMRequest object to handle the success or failure of the method call.

If the method call is successful, the request's result will be a PushRegistration object representing the endpoint that has been unregistered.


Those objects are anonymous JavaScript objects with the following properties:

A string representing the URL of the unregistered endpoint.
Undefined when unregister.onsuccess is called.


var req = navigator.push.unregister(pushEndpoint);

req.onsuccess = function(e) {
  var endpoint = req.result;
  debug("Unregistered endpoint: " + endpoint );

req.onerror = function(e) {
  debug("Error unregistering the endpoint: " + JSON.stringify(e));


Specification Status Comment
Push API Working Draft Defines the PushManager interface.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support42



442 No29 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No42 Yes48329 No4.0

1. From version 16: this feature is behind the Enable service workers preference.

2. Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)

3. Push enabled by default.

See also

Document Tags and Contributors

Last updated by: fscholz,