The Web Serial API works in Chrome 89+, Edge 89+, and Opera 76+ on desktop, plus Chrome 148 beta on Android. Safari and stable Firefox do not support it.

Prince Dewani
May 1, 2026
The Web Serial API is a JavaScript API from the Web Platform Incubator Community Group at the W3C that lets web pages talk to serial devices over USB, Bluetooth, and physical RS-232 ports. It supports Chrome 89+, Edge 89+, and Opera 76+ on desktop, while Chrome 148 beta added Android support in April 2026, and Safari, Samsung Internet, and stable Firefox releases do not support it.
This guide covers what the Web Serial API is, which browsers support it, the key features, how to connect to a serial device, and the known issues to plan around before shipping.
The Web Serial API is a JavaScript API on the navigator.serial object that lets a web page open a bidirectional channel with a serial device. The Web Platform Incubator Community Group at the W3C edits the spec, with Reilly Grant at Google as editor. Chrome 89 first shipped the API in March 2021 to let web apps talk to Arduinos, microcontrollers, 3D printers, and other hardware that uses a serial port over USB or Bluetooth.
Chromium-based desktop browsers ship the Web Serial API by default, while Safari, stable Firefox, Samsung Internet, and most mobile browsers leave it out, so global browser support sits at about 72% as of April 2026.
Chrome supports the Web Serial API from Chrome 89, released March 2, 2021, on Windows, macOS, Linux, and ChromeOS. Chrome 78 to 88 had it disabled by default behind the chrome://flags/#enable-experimental-web-platform-features flag. Chrome 4 to 77 did not support it. Chrome 148 beta added Android support in April 2026.
Microsoft Edge supports the Web Serial API from Edge 89, released March 4, 2021, on Windows, macOS, and Linux. Edge 79 to 88 had the API behind the Chromium experimental web platform features flag. Pre-Chromium EdgeHTML 12 to 78 never added support. Admins can gate the API by URL with the SerialAskForUrls policy.
Firefox does not support the Web Serial API in stable releases on Windows, macOS, Linux, or Android. Firefox Nightly 151 added experimental Web Serial behind an add-on-gated flag in April 2026, reversing Mozilla's earlier harmful standards position. The feature is not yet on by default in any channel.
Safari does not support the Web Serial API on macOS, iPadOS, or iOS in any version, including iOS 26.5. Apple WebKit has an opposed position on the spec, citing fingerprinting concerns, so a stable Safari release is unlikely soon.
Opera supports the Web Serial API from Opera 76, released April 14, 2021, on Windows, macOS, and Linux, and tracks every Chromium release after that. Opera 65 to 75 had the API disabled by default. Opera 9 to 64 did not support it. Opera Mobile and Opera Mini do not expose Web Serial in any version.
Samsung Internet does not support the Web Serial API on Galaxy phones or tablets. Samsung Internet is built on Chromium, but Samsung disables the Web Serial feature flag in its Android builds. There is no setting inside the app that turns it on.
Chrome on Android shipped Web Serial in Chrome 148 beta in April 2026, but Firefox for Android and the stock Android Browser still do not support it. Chrome for Android 4 to 147 did not expose navigator.serial. Wrap a serial-aware web app in a Trusted Web Activity for broader coverage.
Internet Explorer does not support the Web Serial API in any version. The API depends on Chromium device service plumbing that EdgeHTML and Trident never had. Move serial-dependent web apps to Chromium-based Edge or Chrome for any new work.
The Web Serial API gives a web page low-level access to serial input and output streams without a native driver, while keeping the user in control of every device handshake. The main features focus on permissions, stream-based I/O, and event-based device updates.
You connect to a serial device by feature-detecting navigator.serial, calling requestPort from a user gesture, opening the port at the right baud rate, and reading from port.readable. Every step has to run on a click or keypress because requestPort requires user activation.
Use the filters argument to narrow the chooser to your hardware. A filter can match usbVendorId and usbProductId, and the browser shows every device that matches at least one filter.
Paste this snippet into the DevTools console of Chrome, Edge, or Opera. Click anywhere on the page once and the device chooser opens.
// Paste this into the DevTools console of Chrome, Edge, or Opera to detect Web Serial and open a port.
if ("serial" in navigator) {
console.log("Web Serial API is available.");
document.body.addEventListener("click", async () => {
const port = await navigator.serial.requestPort();
await port.open({ baudRate: 9600 });
console.log("Opened port at 9600 baud:", port.getInfo());
const reader = port.readable.getReader();
try {
const { value, done } = await reader.read();
if (done) return;
console.log("Got bytes:", new Uint8Array(value));
} finally {
reader.releaseLock();
}
}, { once: true });
} else {
console.log("Web Serial API is not supported in this browser.");
}If the console prints "Web Serial API is not supported in this browser", you are on Safari, stable Firefox, Samsung Internet, or a mobile browser. Fall back to a native helper app or a Trusted Web Activity for those visitors.
Note: The Web Serial API breaks across Safari, stable Firefox, and most mobile browsers. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
The Web Serial API has a small browser footprint, and most sharp edges sit at the boundary between the page and the host OS. Painful cases tend to land on Mozilla's harmful position, Apple's opposed stance, mobile gaps, and the user-gesture rule.
In my experience, the trickiest failure is the user-gesture rule paired with React. A useEffect that calls requestPort on mount throws every time, because the browser loses the activation token before the effect runs. Wire requestPort to an onClick handler on a real button and the issue disappears.
All Web Serial API version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance