Compression Streams API
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since May 2023.
* Some parts of this feature may have varying levels of support.
Note: This feature is available inWeb Workers.
TheCompression Streams API provides a JavaScript API for compressing and decompressing streams of data using the gzip or deflate formats.
Built in compression means that JavaScript applications will not need to include a compression library, which makes the download size of the application smaller.
The Fetch API'sResponse can be used to convert streams to:
In this article
Interfaces
CompressionStreamCompresses a stream of data.
DecompressionStreamDecompresses a stream of data.
Examples
In this example a stream is compressed using gzip compression.
const compressedReadableStream = inputReadableStream.pipeThrough( new CompressionStream("gzip"),);In the following example a function decompresses a blob using gzip.
async function DecompressBlob(blob) { const ds = new DecompressionStream("gzip"); const decompressedStream = blob.stream().pipeThrough(ds); return await new Response(decompressedStream).blob();}Specifications
| Specification |
|---|
| Compression> # compression-stream> |