Skip to content

WebTransport support

Published Updated

WebTransport transmits data between a client and a server over HTTP/3, offering reliable transport via streams and unreliable, UDP-like transport via datagrams over a single connection.

  • Legend
  • Yes
  • Partial
  • Flag
  • No
  • Unknown
Browser / PlatformSupportVersionsConfidenceSourceNotes
Chrome (Desktop)Yes97highsource—
Chrome (Android)Yes97highsource1
Edge (Desktop)Yes97highsource2
Firefox (Desktop)Yes114highsource—
Firefox (Android)Yes114highsource3
Safari (macOS)Yes26.4highsource—
Safari (iOS)Yes26.4highsource4
Samsung InternetYes18.0highsource5
WebView (Android)Yes97highsource6
  1. Derived by browser-compat-data mirroring from Chrome.
  2. Derived by browser-compat-data mirroring from Chrome.
  3. Derived by browser-compat-data mirroring from Firefox.
  4. Derived by browser-compat-data mirroring from Safari.
  5. Derived by browser-compat-data mirroring from Chrome Android.
  6. Derived by browser-compat-data mirroring from Chrome Android.

Source data: /compatibility/webtransport.json · Global usage: 93 % (StatCounter 2026-05)

Source: spec · MDN · Last verified 2026-10-03 · Confidence: high (computed from sources)

Pass an https server URL to the WebTransport() constructor, then await the ready promise before using the connection:

async function connect(url) {
const transport = new WebTransport(url);
await transport.ready;
return transport;
}

Check for WebTransport on window before constructing one. When it is absent, fall back to a WebSocket connection instead:

function openConnection(httpsUrl, wssUrl) {
if ('WebTransport' in window) {
return new WebTransport(httpsUrl);
}
return new WebSocket(wssUrl);
}
  • The URL passed to the constructor must use the https scheme.
  • Datagrams (via the datagrams property) are unreliable and unordered; use them only for data where losing or reordering a message is acceptable, such as regular game-state updates.
  • Use createBidirectionalStream() or createUnidirectionalStream() when delivery and order must be guaranteed.
  • Safari did not ship WebTransport until Safari 26.4, closing a years-long gap where the API was effectively Chromium- and Firefox-only — do not assume it is universally available without checking the table above.

← Back to the Compatibility explorer.