DecompressionStream: DecompressionStream() constructor

Baseline 2023
Newly available

Since May 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Note: This feature is available in Web Workers.

The DecompressionStream() constructor creates a new DecompressionStream object which decompresses a stream of data.

Syntax

js
new DecompressionStream(format)

Parameters

format

One of the following compression formats:

"gzip"

Decompress the stream using the GZIP format.

"deflate"

Decompress the stream using the DEFLATE algorithm in ZLIB Compressed Data Format. The ZLIB format includes a header with information about the compression method and the uncompressed size of the data, and a trailing checksum for verifying the integrity of the data

"deflate-raw"

Decompress the stream using the DEFLATE algorithm without a header and trailing checksum.

Exceptions

TypeError

Thrown if the format passed to the constructor is not supported.

Examples

In this example a gzip-compressed blob is decompressed.

js
const ds = new DecompressionStream("gzip");
const decompressedStream = blob.stream().pipeThrough(ds);

Specifications

Specification
Compression
# dom-decompressionstream-decompressionstream

Browser compatibility

desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
DecompressionStream() constructor
"deflate" compression
"deflate-raw" compression
"gzip" compression