coderef

StreamsBaseline · Widely available

The streams API creates, composes, and consumes continuously generated data.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jun 28, 2022. Widely available since Dec 28, 2024.

Browser support

DesktopChrome
1–66Not supported
67+Supportedsince May 29, 2018
Current: 155
Edge
12–18Not supported
79+Supportedsince Jan 15, 2020
Current: 154
Firefox
1–101Not supported
102+Supportedsince Jun 28, 2022
Current: 157
Safari
1–14Not supported
14.1+Supportedsince Apr 26, 2021
Current: 27
MobileChrome Android
18–66Not supported
67+Supportedsince May 31, 2018
Current: 155
Firefox Android
4–101Not supported
102+Supportedsince Jun 28, 2022
Current: 157
Safari iOS
1–14Not supported
14.5+Supportedsince Apr 26, 2021
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: ByteLengthQueuingStrategy.

Feature detection

JS · check before using
if ("ReadableStream" in globalThis) {
  // ReadableStream is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (55). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
ByteLengthQueuingStrategy52166510.1526510.3
ByteLengthQueuingStrategy.ByteLengthQueuingStrategy52166510.1526510.3
ByteLengthQueuingStrategy.highWaterMark52166510.1526510.3
ByteLengthQueuingStrategy.size52166510.1526510.3
CountQueuingStrategy52166510.1526510.3
CountQueuingStrategy.CountQueuingStrategy52166510.1526510.3
CountQueuingStrategy.highWaterMark52166510.1526510.3
CountQueuingStrategy.size52166510.1526510.3
ReadableStream43146510.1436510.3
ReadableStream.ReadableStream52796510.1526510.3
ReadableStream.cancel43146510.1436510.3
ReadableStream.getReader43146510.1436510.3
ReadableStream.locked52146510.1526510.3
ReadableStream.pipeThrough597910210.15910210.3
ReadableStream.pipeTo597910010.15910010.3
ReadableStream.tee52796510.1526510.3
ReadableStreamDefaultController52796510526510
ReadableStreamDefaultController.close52796510526510
ReadableStreamDefaultController.desiredSize52796510526510
ReadableStreamDefaultController.enqueue52796510526510
Show 35 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
ReadableStreamDefaultController.error52796510526510
ReadableStreamDefaultReader43796510436510
ReadableStreamDefaultReader.ReadableStreamDefaultReader7879100107810010
ReadableStreamDefaultReader.cancel43796510436510
ReadableStreamDefaultReader.closed43796510436510
ReadableStreamDefaultReader.read43796510436510
ReadableStreamDefaultReader.releaseLock43796510436510
ReadableStreamDefaultReader.releaseLock.reject_pending_read_request1051051021710510217
TransformStream677910214.16710214.5
TransformStream.TransformStream677910214.16710214.5
TransformStream.readable677910214.16710214.5
TransformStream.writable677910214.16710214.5
TransformStreamDefaultController677910214.16710214.5
TransformStreamDefaultController.desiredSize677910214.16710214.5
TransformStreamDefaultController.enqueue677910214.16710214.5
TransformStreamDefaultController.error677910214.16710214.5
TransformStreamDefaultController.terminate677910214.16710214.5
WritableStream591610014.15910014.5
WritableStream.WritableStream591610014.15910014.5
WritableStream.abort591610014.15910014.5
WritableStream.close818110014.18110014.5
WritableStream.getWriter591610014.15910014.5
WritableStream.locked591610014.15910014.5
WritableStreamDefaultController591610014.15910014.5
WritableStreamDefaultController.error591610014.15910014.5
WritableStreamDefaultController.signal989810016.49810016.4
WritableStreamDefaultWriter591610014.15910014.5
WritableStreamDefaultWriter.WritableStreamDefaultWriter787910014.17810014.5
WritableStreamDefaultWriter.abort591610014.15910014.5
WritableStreamDefaultWriter.close591610014.15910014.5
WritableStreamDefaultWriter.closed591610014.15910014.5
WritableStreamDefaultWriter.desiredSize591610014.15910014.5
WritableStreamDefaultWriter.ready591610014.15910014.5
WritableStreamDefaultWriter.releaseLock591610014.15910014.5
WritableStreamDefaultWriter.write591610014.15910014.5