← Device Access
Web Serial
Probing…Web Serial is a web platform capability in the Device Access category. Read/write serial ports — Arduinos, printers, industrial gear. Supported in Chromium 89+; not available in Firefox and Safari. Requires a secure context (HTTPS or localhost) and a user gesture such as a click or tap.
Secure contextUser gesture
Try it
Loading demo…
Code
const port = await navigator.serial.requestPort()
await port.open({ baudRate: 9600 })
const reader = port.readable.getReader()
const { value, done } = await reader.read() // value is a Uint8Array
console.log([...value].map(b => b.toString(16)).join(' '))
reader.releaseLock()
await port.close()Browser support
Chromium
89
Firefox
No
Safari
No
Frequently asked questions
Which browsers support Web Serial?
Supported in Chromium 89+; not available in Firefox and Safari.
Does Web Serial require HTTPS?
Yes. Web Serial needs a secure context, so it only works over HTTPS (or on localhost during development).
What is Web Serial used for?
Read/write serial ports — Arduinos, printers, industrial gear.
Can I try Web Serial in my browser?
Yes. shwcs.net runs a live Web Serial demo that probes your current browser and lets you try the API. Everything runs locally — nothing is sent anywhere.