The CompressionStream() constructor creates a new CompressionStream object which compresses a stream of data.
On this page
CompressionStream: CompressionStream() constructor
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
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
| CompressionStream | 80 | 80 | 113 | No | 67 | 16.4 | 80 | 80 | 113 | 57 | 16.4 | 13.0 | 
| deflate | 80 | 80 | 113 | No | 67 | 16.4 | 80 | 80 | 113 | 57 | 16.4 | 13.0 | 
| deflate-raw | 103 | 103 | 113 | No | 89 | 16.4 | 103 | 103 | 113 | 71 | 16.4 | 20.0 | 
| gzip | 80 | 80 | 113 | No | 67 | 16.4 | 80 | 80 | 113 | 57 | 16.4 | 13.0 | 
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
 https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream/CompressionStream