BASELINE NowYouCanUse.com
Limited Availability Trending #15

WebCodecs

The WebCodecs API provides low-level access to individual video frames and chunks of audio samples, for full control over the way media is processed.
Baseline Status: This feature is currently Limited (not yet Baseline). Latest engine implementation shipped on Sep 15, 2025.
Desktop Browser Engine Support
Google Chrome
94
Supported
Mozilla Firefox
130
Supported
Apple Safari
26
Supported
Microsoft Edge
94
Supported
Mobile Browser Engine Support
Chrome Android
94
Firefox Android
—
Safari iOS
26
Specifications and References
MDN Browser Compat Data Keys:
api.AudioData ↗ api.AudioData.AudioData ↗ api.AudioData.allocationSize ↗ api.AudioData.clone ↗ api.AudioData.close ↗ api.AudioData.copyTo ↗ api.AudioData.duration ↗ api.AudioData.format ↗ api.AudioData.numberOfChannels ↗ api.AudioData.numberOfFrames ↗ api.AudioData.sampleRate ↗ api.AudioData.timestamp ↗ api.AudioDecoder ↗ api.AudioDecoder.AudioDecoder ↗ api.AudioDecoder.close ↗ api.AudioDecoder.configure ↗ api.AudioDecoder.decode ↗ api.AudioDecoder.decodeQueueSize ↗ api.AudioDecoder.dequeue_event ↗ api.AudioDecoder.flush ↗ api.AudioDecoder.isConfigSupported_static ↗ api.AudioDecoder.reset ↗ api.AudioDecoder.state ↗ api.AudioEncoder ↗ api.AudioEncoder.AudioEncoder ↗ api.AudioEncoder.close ↗ api.AudioEncoder.configure ↗ api.AudioEncoder.configure.bitrateMode ↗ api.AudioEncoder.configure.opus ↗ api.AudioEncoder.configure.opus.opus_application ↗ api.AudioEncoder.configure.opus.opus_signal ↗ api.AudioEncoder.dequeue_event ↗ api.AudioEncoder.encode ↗ api.AudioEncoder.encodeQueueSize ↗ api.AudioEncoder.flush ↗ api.AudioEncoder.isConfigSupported_static ↗ api.AudioEncoder.reset ↗ api.AudioEncoder.state ↗ api.EncodedAudioChunk ↗ api.EncodedAudioChunk.EncodedAudioChunk ↗ api.EncodedAudioChunk.byteLength ↗ api.EncodedAudioChunk.copyTo ↗ api.EncodedAudioChunk.duration ↗ api.EncodedAudioChunk.timestamp ↗ api.EncodedAudioChunk.type ↗ api.EncodedVideoChunk ↗ api.EncodedVideoChunk.EncodedVideoChunk ↗ api.EncodedVideoChunk.byteLength ↗ api.EncodedVideoChunk.copyTo ↗ api.EncodedVideoChunk.duration ↗ api.EncodedVideoChunk.timestamp ↗ api.EncodedVideoChunk.type ↗ api.ImageDecoder ↗ api.ImageDecoder.ImageDecoder ↗ api.ImageDecoder.close ↗ api.ImageDecoder.complete ↗ api.ImageDecoder.completed ↗ api.ImageDecoder.decode ↗ api.ImageDecoder.isTypeSupported_static ↗ api.ImageDecoder.reset ↗ api.ImageDecoder.tracks ↗ api.ImageDecoder.type ↗ api.ImageTrack ↗ api.ImageTrack.animated ↗ api.ImageTrack.frameCount ↗ api.ImageTrack.repetitionCount ↗ api.ImageTrack.selected ↗ api.ImageTrackList ↗ api.ImageTrackList.length ↗ api.ImageTrackList.ready ↗ api.ImageTrackList.selectedIndex ↗ api.ImageTrackList.selectedTrack ↗ api.VideoColorSpace ↗ api.VideoColorSpace.VideoColorSpace ↗ api.VideoColorSpace.fullRange ↗ api.VideoColorSpace.matrix ↗ api.VideoColorSpace.primaries ↗ api.VideoColorSpace.toJSON ↗ api.VideoColorSpace.transfer ↗ api.VideoDecoder ↗ api.VideoDecoder.VideoDecoder ↗ api.VideoDecoder.close ↗ api.VideoDecoder.configure ↗ api.VideoDecoder.configure.flip_option ↗ api.VideoDecoder.configure.rotation_option ↗ api.VideoDecoder.decode ↗ api.VideoDecoder.decodeQueueSize ↗ api.VideoDecoder.dequeue_event ↗ api.VideoDecoder.flush ↗ api.VideoDecoder.isConfigSupported_static ↗ api.VideoDecoder.isConfigSupported_static.flip_option ↗ api.VideoDecoder.isConfigSupported_static.rotation_option ↗ api.VideoDecoder.reset ↗ api.VideoDecoder.state ↗ api.VideoEncoder ↗ api.VideoEncoder.VideoEncoder ↗ api.VideoEncoder.close ↗ api.VideoEncoder.configure ↗ api.VideoEncoder.dequeue_event ↗ api.VideoEncoder.encode ↗ api.VideoEncoder.encodeQueueSize ↗ api.VideoEncoder.flush ↗ api.VideoEncoder.isConfigSupported_static ↗ api.VideoEncoder.reset ↗ api.VideoEncoder.state ↗ api.VideoFrame ↗ api.VideoFrame.VideoFrame ↗ api.VideoFrame.VideoFrame.flip_option ↗ api.VideoFrame.VideoFrame.rotation_option ↗ api.VideoFrame.allocationSize ↗ api.VideoFrame.clone ↗ api.VideoFrame.close ↗ api.VideoFrame.codedHeight ↗ api.VideoFrame.codedRect ↗ api.VideoFrame.codedWidth ↗ api.VideoFrame.colorSpace ↗ api.VideoFrame.copyTo ↗ api.VideoFrame.copyTo.format_property ↗ api.VideoFrame.displayHeight ↗ api.VideoFrame.displayWidth ↗ api.VideoFrame.duration ↗ api.VideoFrame.flip ↗ api.VideoFrame.format ↗ api.VideoFrame.rotation ↗ api.VideoFrame.timestamp ↗ api.VideoFrame.visibleRect ↗
id: webcodecs