CompressionStream: CompressionStream() 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 CompressionStream() constructor creates a new CompressionStream object which compresses a stream of data.

Syntax

js
new CompressionStream(format)

Parameters

format

One of the following allowed compression formats:

"gzip"

Compresses the stream using the GZIP format.

"deflate"

Compresses 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"

Compresses 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 stream is compressed using gzip compression.

js
const compressedReadableStream = inputReadableStream.pipeThrough(
  new CompressionStream("gzip"),
);

Specifications

Specification
Compression
# dom-compressionstream-compressionstream

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
CompressionStream() constructor
"deflate" compression
"deflate-raw" compression
"gzip" compression