This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The clientId read-only property of the FetchEvent returns the id of the Client that the current service worker is controlling.

The Clients.get() method could then be passed this ID to retrieve the associated client.


var myClientId = FetchEvent.clientId;


A DOMString that represents the client ID.


self.addEventListener('fetch', function(event) {


Specification Status Comment
Service Workers
The definition of 'clientId' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
Chrome Full support 49Edge ? Firefox Full support 45
Full support 45
Notes Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
IE No support NoOpera Full support 36Safari No support NoWebView Android Full support 49Chrome Android Full support 49Edge Mobile ? Firefox Android Full support 45Opera Android Full support 36Safari iOS No support NoSamsung Internet Android Full support 5.0


Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.

See also

Document Tags and Contributors

Contributors to this page: fscholz, chrisdavidmills, dgashmdn
Last updated by: fscholz,