VideoDecoderLimited availabilityThis feature is not Baseline because it does not work in some of the most widely-used browsers.Learn moreSee full compatibilityReport feedbackSecure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers. Note: This feature is available in Dedicated Web Workers. The VideoDecoder interface of the WebCodecs API decodes chunks of video. EventTarget VideoDecoder Constructor VideoDecoder() Creates a new VideoDecoder object. Instance propertiesInherits properties from its parent, EventTarget. VideoDecoder.decodeQueueSize Read only An integer representing the number of queued decode requests. VideoDecoder.state Read only Indicates the current state of decoder. Possible values are: "unconfigured" "configured" "closed" Events dequeue Fires to signal a decrease in VideoDecoder.decodeQueueSize. Static methods VideoDecoder.isConfigSupported() Returns a promise indicating whether the provided VideoDecoderConfig is supported. Instance methodsInherits methods from its parent, EventTarget. VideoDecoder.configure() Enqueues a control message to configure the video decoder for decoding chunks. VideoDecoder.decode() Enqueues a control message to decode a given chunk of video. VideoDecoder.flush() Returns a promise that resolves once all pending messages in the queue have been completed. VideoDecoder.reset() Resets all states including configuration, control messages in the control message queue, and all pending callbacks. VideoDecoder.close() Ends all pending work and releases system resources. SpecificationsSpecificationWebCodecs # videodecoder-interfaceBrowser compatibilitydesktopmobileChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung InternetWebView AndroidWebView on iOSVideoDecoderChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historyVideoDecoder() constructorChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historycloseChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historyconfigureChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historydecodeChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historydecodeQueueSizeChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historydequeue eventChrome – Full supportChrome106Toggle historyEdge – Full supportEdge106Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera92Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android106Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android72Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet20.0Toggle historyWebView Android – Full supportWebView Android106Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historyflushChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historyisConfigSupported() static methodChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historyresetChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historystateChrome – Full supportChrome94Toggle historyEdge – Full supportEdge94Toggle historyFirefox – Full supportFirefox130Toggle historyOpera – Full supportOpera80Toggle historySafari – Full supportSafari16.4Toggle historyChrome Android – Full supportChrome Android94Toggle historyFirefox for Android – No supportFirefox for AndroidNoToggle historyOpera Android – Full supportOpera Android66Toggle historySafari on iOS – Full supportSafari on iOS16.4Toggle historySamsung Internet – Full supportSamsung Internet17.0Toggle historyWebView Android – Full supportWebView Android94Toggle historyWebView on iOS – Full supportWebView on iOS16.4Toggle historySee also Video processing with WebCodecs WebCodecs API Samples