This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The toJSON() method of the PushSubscription interface is a standard serializer: it returns a JSON representation of the subscription properties, providing a useful shortcut.


​mySubscription = subscription.toJSON()




A JSON object. It currently only contains the subscription endpoint, as an endpoint member.


navigator.serviceWorker.ready.then(function(reg) {
  reg.pushManager.getSubscription().then(function(subscription) {
    var mySubscription = subscription.toJSON();
    // do something with subscription details


Specification Status Comment
Push API
The definition of 'PushSubscription (see serializer listed in the WebIDL)' in that specification.
Working Draft Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 42.0 46.0 (46.0)[1] No support ? No support
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support No support 48.0 (48)[2] No support No support No support No support 42.0

See also

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, kitcambridge
 Last updated by: chrisdavidmills,