AudioWorkletBaseline · Widely available
The AudioWorklet API runs module code in a separate thread, specifically for non-blocking, low latency audio processing.
Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Apr 26, 2021. Widely available since Oct 26, 2023.
Browser support
DesktopChrome
1–65Not supported
66+Supportedsince Apr 17, 2018
Current: 155Edge
12–18Not supported
79+Supportedsince Jan 15, 2020
Current: 154Firefox
1–75Not supported
76+Supportedsince May 5, 2020
Current: 157Safari
1–14Not supported
14.1+Supportedsince Apr 26, 2021
Current: 27MobileChrome Android
18–65Not supported
66+Supportedsince Apr 17, 2018
Current: 155Firefox Android
4–68Not supported
79+Supportedsince Jul 28, 2020
Current: 157Safari iOS
1–14Not supported
14.5+Supportedsince Apr 26, 2021
Current: 27How to use
This feature is Baseline widely available — use it freely, no fallback needed.
Example
Full syntax and examples are on MDN: AudioWorklet.
Feature detection
JS · check before using
if ("AudioWorklet" in globalThis) {
// AudioWorklet is available
} else {
// load a polyfill or use a fallback
}Sub-features
Support for each part of the feature (19). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| AudioWorklet | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletGlobalScope | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletGlobalScope.currentFrame | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletGlobalScope.currentTime | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletGlobalScope.port | ✕ | ✕ | 138 | ✕ | ✕ | 138 | ✕ |
| AudioWorkletGlobalScope.registerProcessor | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletGlobalScope.sampleRate | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletNode | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletNode.AudioWorkletNode | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletNode.parameters | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletNode.port | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletNode.processorerror_event | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| AudioWorkletProcessor | 64 | 79 | 76 | 14.1 | 64 | 79 | 14.5 |
| AudioWorkletProcessor.AudioWorkletProcessor | 64 | 79 | 76 | 14.1 | 64 | 79 | 14.5 |
| AudioWorkletProcessor.port | 64 | 79 | 76 | 14.1 | 64 | 79 | 14.5 |
| BaseAudioContext.audioWorklet | 66 | 79 | 76 | 14.1 | 66 | 79 | 14.5 |
| Worklet | 65 | 79 | 76 | 14.1 | 65 | 79 | 14.5 |
| Worklet.addModule | 65 | 79 | 76 | 14.1 | 65 | 79 | 14.5 |
| WorkletGlobalScope | 65 | 79 | 76 | 14.1 | 65 | 79 | 14.5 |