coderef

WebTransportBaseline · Newly available

The WebTransport API transmits data between a client and a server, by using the HTTP/3 protocol.

Works in the latest version of every major browser, but older devices may not support it yet. Baseline since Mar 24, 2026.

Browser support

DesktopChrome
1–96Not supported
97+Supportedsince Jan 4, 2022
Current: 155
Edge
12–96Not supported
97+Supportedsince Jan 6, 2022
Current: 154
Firefox
1–113Not supported
114+Supportedsince Jun 6, 2023
Current: 157
Safari
1–26.3Not supported
26.4+Supportedsince Mar 24, 2026
Current: 27
MobileChrome Android
18–96Not supported
97+Supportedsince Jan 4, 2022
Current: 155
Firefox Android
4–113Not supported
114+Supportedsince Jun 6, 2023
Current: 157
Safari iOS
1–26.3Not supported
26.4+Supportedsince Mar 24, 2026
Current: 27

How to use

Every current browser supports this, but it only became Baseline on Mar 24, 2026. Use it as a progressive enhancement, or keep a fallback if you support older devices.

Example

Full syntax and examples are on MDN: WebTransport.

Feature detection

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

Sub-features

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

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
WebTransport979711426.49711426.4
WebTransport.WebTransport979711426.49711426.4
WebTransport.WebTransport.options_allowPooling_parameter✕✕11426.4✕11426.4
WebTransport.WebTransport.options_congestionControl_parameter✕✕11426.4✕11426.4
WebTransport.WebTransport.options_requireUnreliable_parameter✕✕11426.4✕11426.4
WebTransport.WebTransport.options_serverCertificateHashes_parameter10010012526.410012526.4
WebTransport.byob_readers10910911426.410911426.4
WebTransport.close979711426.49711426.4
WebTransport.closed979711426.49711426.4
WebTransport.congestionControl✕✕11426.4✕11426.4
WebTransport.createBidirectionalStream979711426.49711426.4
WebTransport.createBidirectionalStream.options_sendOrder_parameter✕✕11926.4✕11926.4
WebTransport.createUnidirectionalStream9797✕26.497✕26.4
WebTransport.createUnidirectionalStream.byob_readers109109✕26.4109✕26.4
WebTransport.createUnidirectionalStream.options_sendOrder_parameter✕✕✕26.4✕✕26.4
WebTransport.datagrams979711426.49711426.4
WebTransport.getStats✕✕✕26.4✕✕26.4
WebTransport.incomingBidirectionalStreams979711426.49711426.4
WebTransport.incomingUnidirectionalStreams979711426.49711426.4
WebTransport.ready979711426.49711426.4
Show 22 more
Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
WebTransport.reliability✕✕11426.4✕11426.4
WebTransportBidirectionalStream979711426.49711426.4
WebTransportBidirectionalStream.readable979711426.49711426.4
WebTransportBidirectionalStream.readable.returns_WebTransportReceiveStream✕✕11426.4✕11426.4
WebTransportBidirectionalStream.writable979711426.49711426.4
WebTransportBidirectionalStream.writable.returns_WebTransportSendStream✕✕11426.4✕11426.4
WebTransportDatagramDuplexStream979711426.49711426.4
WebTransportDatagramDuplexStream.byob_readers109109✕26.4109✕26.4
WebTransportDatagramDuplexStream.incomingMaxAge979711426.49711426.4
WebTransportDatagramDuplexStream.maxDatagramSize979711426.49711426.4
WebTransportDatagramDuplexStream.outgoingMaxAge979711426.49711426.4
WebTransportDatagramDuplexStream.readable979711426.49711426.4
WebTransportError979711426.49711426.4
WebTransportError.WebTransportError979711426.49711426.4
WebTransportError.source979711426.49711426.4
WebTransportError.streamErrorCode979711426.49711426.4
WebTransportReceiveStream✕✕11426.4✕11426.4
WebTransportReceiveStream.getStats✕✕11426.4✕11426.4
WebTransportSendStream✕✕11426.4✕11426.4
WebTransportSendStream.getStats✕✕11426.4✕11426.4
WebTransportSendStream.getWriter✕✕11426.4✕11426.4
WebTransportSendStream.sendOrder✕✕12126.4✕12126.4