Rate this post
Fork me on GitHub Test your browser!
HTML5WorkerTest.com logo

Which APIs are supported in Web Workers and Service Workers? This chart shows the breakdown for each browser, based on automated testing.

Note that the goal is not for browsers to reach 100% on all tests. Some APIs are intentionally not exposed to workers. This site is for informational purposes only.

Web Workers

Chrome logo Chrome 81 more Firefox logo Firefox 76 more IE logo IE 11 more Edge logo Edge 17 more Safari logo Safari 13 more iOS Safari logo iOS Safari 13 more Android Chrome logo Android Chrome 67 more
Network
EventSource (SSE) ✓ ✓ ✗ ✗ ✓ ✓ ✓
fetch ✓ ✓ ✗ ✓ ✓ ✓ ✓
WebSockets ✓ ✓ ✓ ✓ ✓ ✓ ✓
XMLHttpRequest ✓ ✓ ✓ ✓ ✓ ✓ ✓
Storage
Cache ✓ ✓ ✗ ✓ ✓ ✓ ✓
IndexedDB ✓ ✓ ✓ ✓ ✓ ✓ ✓
LocalStorage ✗ ✗ ✗ ✗ ✗ ✗ ✗
SessionStorage ✗ ✗ ✗ ✗ ✗ ✗ ✗
WebSQL ✗ ✗ ✗ ✗ ✗ ✗ ✗
Binary
atob ✓ ✓ ✓ ✓ ✓ ✓ ✓
Atomics ✓ ✗ ✗ ✗ ✗ ✗ ✗
Blob ✓ ✓ ✓ ✓ ✓ ✓ ✓
btoa ✓ ✓ ✓ ✓ ✓ ✓ ✓
createImageBitmap ✓ ✓ ✗ ✗ ✗ ✗ ✓
FileReader ✓ ✓ ✓ ✓ ✓ ✓ ✓
FileReaderSync ✓ ✓ ✓ ✓ ✓ ✓ ✓
ImageData ✓ ✓ ✗ ✓ ✓ ✓ ✓
SharedArrayBuffer ✓ ✗ ✗ ✗ ✗ ✗ ✗
Timers
clearImmediate ✗ ✗ ✓ ✓ ✗ ✗ ✗
clearInterval ✓ ✓ ✓ ✓ ✓ ✓ ✓
clearTimeout ✓ ✓ ✓ ✓ ✓ ✓ ✓
Promise ✓ ✓ ✗ ✓ ✓ ✓ ✓
requestIdleCallback ✗ ✗ ✗ ✗ ✗ ✗ ✗
setImmediate ✗ ✗ ✓ ✓ ✗ ✗ ✗
setInterval ✓ ✓ ✓ ✓ ✓ ✓ ✓
setTimeout ✓ ✓ ✓ ✓ ✓ ✓ ✓
Location
location.hash ✓ ✓ ✓ ✓ ✓ ✓ ✓
location.host ✓ ✓ ✓ ✓ ✓ ✓ ✓
location.hostname ✓ ✓ ✓ ✓ ✓ ✓ ✓
location.origin ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.pathname ✓ ✓ ✓ ✓ ✓ ✓ ✓
location.port ✓ ✓ ✓ ✓ ✓ ✓ ✓
location.protocol ✓ ✓ ✓ ✓ ✓ ✓ ✓
location.search ✓ ✓ ✓ ✓ ✓ ✓ ✓
Navigator
navigator.onLine ✓ ✓ ✓ ✓ ✓ ✓ ✓
navigator.product ✓ ✓ ✓ ✓ ✓ ✓ ✓
navigator.sendBeacon ✗ ✗ ✗ ✓ ✗ ✗ ✗
navigator.userAgent ✓ ✓ ✓ ✓ ✓ ✓ ✓
Miscellaneous
BroadcastChannel ✓ ✓ ✗ ✗ ✗ ✗ ✓
Channel Messaging ✓ ✓ ✓ ✓ ✓ ✓ ✓
console ✓ ✓ ✓ ✓ ✓ ✓ ✓
CustomEvent ✓ ✓ ✗ ✓ ✓ ✓ ✓
DOMCursor ✗ ✗ ✗ ✗ ✗ ✗ ✗
DOMRequest ✗ ✓ ✗ ✗ ✗ ✗ ✗
FormData ✓ ✓ ✗ ✗ ✗ ✗ ✓
importScripts ✓ ✓ ✓ ✓ ✓ ✓ ✓
Intl ✓ ✓ ✓ ✓ ✓ ✓ ✓
Notifications ✓ ✓ ✗ ✓ ✗ ✗ ✓
OffscreenCanvas ✓ ✗ ✗ ✗ ✗ ✗ ✗
performance ✓ ✓ ✗ ✓ ✓ ✓ ✓
TextEncoder/TextDecoder ✓ ✓ ✗ ✗ ✓ ✓ ✓
URL ✓ ✓ ✓ ✓ ✓ ✓ ✓
WebCrypto ✓ ✓ ✗ ✗ ✓ ✓ ✓
Worker ✓ ✓ ✓ ✓ ✗ ✗ ✗

Service Workers

Chrome logo Chrome 81 more Firefox logo Firefox 76 more IE logo IE 11 more Edge logo Edge 17 more Safari logo Safari 13 more iOS Safari logo iOS Safari 13 more Android Chrome logo Android Chrome 67 more
Network
EventSource (SSE) ✓ ✗ ✗ ✗ ✓ ✓ ✓
fetch ✓ ✓ ✗ ✓ ✓ ✓ ✓
WebSockets ✓ ✓ ✗ ✓ ✓ ✓ ✓
XMLHttpRequest ✗ ✗ ✗ ✗ ✗ ✗ ✗
Storage
Cache ✓ ✓ ✗ ✓ ✓ ✓ ✓
IndexedDB ✓ ✓ ✗ ✓ ✓ ✓ ✓
LocalStorage ✗ ✗ ✗ ✗ ✗ ✗ ✗
SessionStorage ✗ ✗ ✗ ✗ ✗ ✗ ✗
WebSQL ✗ ✗ ✗ ✗ ✗ ✗ ✗
Binary
atob ✓ ✓ ✗ ✓ ✓ ✓ ✓
Atomics ✓ ✗ ✗ ✗ ✗ ✗ ✗
Blob ✓ ✓ ✗ ✓ ✓ ✓ ✓
btoa ✓ ✓ ✗ ✓ ✓ ✓ ✓
createImageBitmap ✓ ✓ ✗ ✗ ✓ ✓ ✓
FileReader ✓ ✓ ✗ ✓ ✓ ✓ ✓
FileReaderSync ✗ ✗ ✗ ✓ ✓ ✓ ✗
ImageData ✓ ✓ ✗ ✓ ✓ ✓ ✓
SharedArrayBuffer ✓ ✗ ✗ ✗ ✗ ✗ ✗
Timers
clearImmediate ✗ ✗ ✗ ✓ ✗ ✗ ✗
clearInterval ✓ ✓ ✗ ✓ ✓ ✓ ✓
clearTimeout ✓ ✓ ✗ ✓ ✓ ✓ ✓
Promise ✓ ✓ ✗ ✓ ✓ ✓ ✓
requestIdleCallback ✗ ✗ ✗ ✗ ✗ ✗ ✗
setImmediate ✗ ✗ ✗ ✓ ✗ ✗ ✗
setInterval ✓ ✓ ✗ ✓ ✓ ✓ ✓
setTimeout ✓ ✓ ✗ ✓ ✓ ✓ ✓
Location
location.hash ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.host ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.hostname ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.origin ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.pathname ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.port ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.protocol ✓ ✓ ✗ ✓ ✓ ✓ ✓
location.search ✓ ✓ ✗ ✓ ✓ ✓ ✓
Navigator
navigator.onLine ✓ ✓ ✗ ✓ ✓ ✓ ✓
navigator.product ✓ ✓ ✗ ✓ ✓ ✓ ✓
navigator.sendBeacon ✗ ✗ ✗ ✓ ✗ ✗ ✗
navigator.userAgent ✓ ✓ ✗ ✓ ✓ ✓ ✓
Miscellaneous
BroadcastChannel ✓ ✓ ✗ ✗ ✗ ✗ ✓
Channel Messaging ✓ ✓ ✗ ✓ ✓ ✓ ✓
console ✓ ✓ ✗ ✓ ✓ ✓ ✓
CustomEvent ✓ ✓ ✗ ✓ ✓ ✓ ✓
DOMCursor ✗ ✗ ✗ ✗ ✗ ✗ ✗
DOMRequest ✗ ✓ ✗ ✗ ✗ ✗ ✗
FormData ✓ ✓ ✗ ✗ ✗ ✗ ✓
importScripts ✓ ✓ ✗ ✓ ✓ ✓ ✓
Intl ✓ ✓ ✗ ✓ ✓ ✓ ✓
Notifications ✓ ✓ ✗ ✓ ✗ ✗ ✓
OffscreenCanvas ✓ ✗ ✗ ✗ ✗ ✗ ✗
performance ✓ ✓ ✗ ✓ ✓ ✓ ✓
TextEncoder/TextDecoder ✓ ✓ ✗ ✗ ✓ ✓ ✓
URL ✓ ✓ ✗ ✓ ✓ ✓ ✓
WebCrypto ✓ ✓ ✗ ✗ ✓ ✓ ✓
Worker ✗ ✗ ✗ ✗ ✗ ✗ ✗

A big thanks to our partners who always supported us, Kindly have a look: