ImageDecoder: ImageDecoder() constructor

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure 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 ImageDecoder() constructor creates a new ImageDecoder object which unpacks and decodes image data.

Syntax

js
new ImageDecoder(init)

Parameters

init

An object containing the following members:

type

A string containing the MIME type of the image file to be decoded.

data

An ArrayBuffer, a TypedArray, a DataView, or a ReadableStream of bytes representing an encoded image type as described by type.

premultiplyAlpha Optional

Specifies whether the decoded image's color channels should be premultiplied by the alpha channel. If not provided set as "default":

  • "none"
  • "premultiply"
  • "default"
colorSpaceConversion Optional

Specifies whether the image should be decoded using color space conversion. If not provided set as "default". The value "default" indicates that implementation-specific behavior is used:

  • "none"
  • "default"
desiredWidth Optional

An integer indicating the desired width for the decoded output. Has no effect unless the image codec supports variable resolution decoding.

desiredHeight Optional

An integer indicating the desired height for the decoded output. Has no effect unless the image codec supports variable resolution decoding.

preferAnimation Optional

A Boolean indicating whether the initial track selection should prefer an animated track.

transfer

An array of ArrayBuffers that ImageDecoder will detach and take ownership of. If the array contains the ArrayBuffer backing data, ImageDecoder will use that buffer directly instead of copying from it.

Examples

The following example creates a new ImageDecoder with the required options.

js
let init = {
  type: "image/png",
  data: imageByteStream,
};

let imageDecoder = new ImageDecoder(init);

Specifications

Specification
WebCodecs
# dom-imagedecoder-imagedecoder

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ImageDecoder() constructor
Chrome – Full support
Chrome 94 (Release date: 2021-09-21)
footnote Full support
Edge – Full support
Edge 94 (Release date: 2021-09-24)
footnote Full support
Firefox – Full support
Firefox 133 (Release date: 2024-11-26)
footnote Full support
Opera – Full support
Opera 80 (Release date: 2021-10-05)
footnote Full support
Safari – No support
Safari
footnote No support
Chrome Android – Full support
Chrome Android 94 (Release date: 2021-09-21)
footnote Full support
Firefox for Android – Full support
Firefox for Android 133 (Release date: 2024-11-26)
footnote Full support
Opera Android – Full support
Opera Android 66 (Release date: 2021-12-15)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
Samsung Internet – Full support
Samsung Internet 17 (Release date: 2022-05-04)
footnote Full support
WebView Android – Full support
WebView Android 94 (Release date: 2021-09-21)
footnote Full support
WebView on iOS – No support
WebView on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support