Test your browser!
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 81 more | Firefox 76 more | IE 11 more | Edge 17 more | Safari 13 more | iOS Safari 13 more | 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 81 more | Firefox 76 more | IE 11 more | Edge 17 more | Safari 13 more | iOS Safari 13 more | 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: