CompressionStream: writable property

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⁩.

Note: This feature is available in Web Workers.

The writable read-only property of the CompressionStream interface returns a WritableStream that accepts uncompressed data to be compressed, in the form of ArrayBuffer, TypedArray, or DataView chunks.

Value

A WritableStream.

Examples

This example creates a CompressionStream that performs gzip compression. It writes some binary data to the writable stream, then reads the compressed data from the readable stream.

js
const stream = new CompressionStream("gzip"); // Write data to be compressed const data = new TextEncoder().encode("Hello, world!"); const writer = stream.writable.getWriter(); writer.write(data); writer.close(); // Read compressed data const reader = stream.readable.getReader(); let done = false; let output = []; while (!done) { const result = await reader.read(); if (result.value) { output.push(...result.value); } done = result.done; } console.log(new Uint8Array(output).toBase64()); // H4sIAAAAAAAAE/NIzcnJ11Eozy/KSVEEAObG5usNAAAA 

Specifications

Specification
Streams
# dom-generictransformstream-writable

Browser compatibility

See also