Contact emails
ri...@chromium.org,
moni...@microsoft.com
Explainer
https://github.com/w3c/webtransport/blob/main/explainer.md
Specification
https://www.w3.org/TR/webtransport/#dom-webtransportoptions-datagramsreadabletype
Summary
Adds the WebTransportOptions.datagramsReadableType constructor option. By default, incoming WebTransport Datagrams are exposed through a default ReadableStream . Applications that require BYOB reading can request a readable byte stream by setting datagramsReadableType: "bytes" .
Blink component
Blink>Network>WebTransport
Web Feature ID
webtransport
Motivation
WebTransport Datagrams are discrete messages rather than an undifferentiated byte sequence. A readable byte stream can lose empty Datagrams and can lose message boundaries when BYOB reads use a minimum byte count spanning multiple Datagrams.
Making a default ReadableStream the default preserves Datagram boundaries and empty Datagrams. Applications that benefit from BYOB allocation control can explicitly opt into the byte-stream behavior.
Initial public proposal
No information provided
TAG review
Not applicable — this is a small incremental addition within the existing WebTransport specification.
TAG review status
Not applicable
Goals for experimentation
None
Risks
Interoperability and Compatibility
Interoperability risk is low to medium. The API and default-stream behavior are defined in the WebTransport specification and covered by WPT. Firefox already uses a default non-byte stream when the option is omitted, but does not yet support the explicit "bytes" mode in current public test runs.
Compatibility risk is mitigated by runtime gating. Chromium historically exposed the Datagram readable as a byte stream, so enabling the feature changes the default behavior: existing applications using a BYOB reader without specifying datagramsReadableType: "bytes" would fail. Applications using ordinary readers continue to receive Uint8Array chunks
Gecko: Positive (
https://bugzilla.mozilla.org/show_bug.cgi?id=2007755) Firefox is implementing datagramsReadableType: "bytes" and BYOB Datagram reads
WebKit: In development (
https://bugs.webkit.org/show_bug.cgi?id=319830) WebKit main implements the standardized datagramsReadableType option
Web developers: Positive (
https://github.com/web-platform-tests/interop/issues/1121) The Interop 2026 WebTransport proposal received 28 👍 reactions. Developers also reported active WebTransport use and significant cross-engine differences.
Other signals:
Ergonomics
Low. The default stream better matches Datagram message semantics. Applications needing BYOB allocation control must explicitly opt into "bytes" , making the semantic tradeoff visible in application code.
Activation
The main activation risk is existing Chromium-specific code assuming that transport.datagrams.readable always supports BYOB readers. Such applications must explicitly request datagramsReadableType: "bytes" . The feature remains experimentally gated while compatibility and interoperability are evaluated.
Security
Low. The option changes only the JavaScript stream adapter used to expose already-received Datagrams. It does not provide additional network access, expose new information, or alter WebTransport’s secure-context and connection security requirements.
WebView application risks
Does this intent deprecate or change behavior of existing APIs,
such that it has potentially high risk for Android WebView-based
applications?
Low. The implementation is cross-platform Blink code and requires no WebView-specific integration. The primary compatibility consideration is the same as Chrome: applications using a BYOB reader must explicitly request datagramsReadableType: "bytes" .
Debuggability
No feature-specific DevTools UI is required. Applications can inspect whether datagrams.readable supports BYOB by attempting to acquire a BYOB reader. Existing WebTransport logging, NetLog, and DevTools network diagnostics remain available for connection and Datagram issues.
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
Yes. Implemented in cross-platform Blink code without platform-specific dependencies.
Yes
https://wpt.fyi/results/webtransport/datagrams.https.any.html?label=experimental&label=master&aligned
Flag name on about://flags
chrome://flags/#enable-experimental-web-platform-features
Finch feature name
WebTransportDatagramsReadableType
Rollout plan
Will ship enabled for all users
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/547572475
Availability expectation
WebKit has implemented the option and corresponding default-stream behavior in its main branch. Firefox implements the default non-byte stream behavior, although explicit "bytes" /BYOB mode does not yet pass current public WPT runs. Broad availability is expected as implementations converge on the WebTransport specification.
Adoption expectation
Adoption is expected mainly among WebTransport applications that use BYOB readers or need reliable preservation of Datagram message boundaries. Most applications using ordinary readers require no code changes.
Adoption plan
Adoption is expected through WebTransport documentation and Interop 2026 visibility. Existing Chromium applications using BYOB readers will need to explicitly set datagramsReadableType: "bytes" when the feature is enabled.
Estimated milestones
| Shipping on desktop | 159 |
| DevTrial on desktop | 155 |
| Shipping on Android | 159 |
| DevTrial on Android | 155 |
| Shipping on WebView | 159 |
Anticipated spec changes
Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github
issues in the project for the feature specification) whose resolution
may introduce web compat/interop risk (e.g., changing to naming or
structure of the API in a non-backward-compatible way).
None currently anticipated. The option and default-stream behavior are already defined in the WebTransport specification.
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5148774971342848?gate=5517621058469888
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6aa86417.edf999b6.71d4e.0a07.GAE%40google.com