Secure context

This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The open() method of the SerialPort interface returns a Promise that resolves when the port is opened. By default the port is opened with 8 data bits, 1 stop bit and no parity checking. The baudRate parameter is required.


var promise =;


An object with any of the following values:
A positive, non-zero value indicating the baud rate at which serial communication should be established.
An unsigned long integer indicating the size of the read and write buffers that are to be established. If not passed, defaults to 255.
An integer value of 7 or 8 indicating the number of data bits per frame. If not passed, defaults to 8.
The flow control type, either "none" or "hardware". The default value is "none:.
The parity mode, either "none", "even", or "odd". The default value is "none".
An integer value of 1 or 2 indicating the number of stop bits at the end of the frame. If not passed, defaults to 1.

Return value

A Promise.


DOMException "InvalidStateError"
Indicates that the port is already open.
DOMException NetworkError
Indicates that the attempt to open the port failed.


Before communicating on a serial port it must be opened. Opening the port allows the site to specify the necessary parameters that control how data is transmitted and received. Developers should check the documentation for the device they are connecting to for the appropriate parameters.

await{ baudRate: /* pick your baud rate */ });


Specification Status Comment
Web Serial API
The definition of '' in that specification.
Draft Initial definition.

Browser compatibility

BCD tables only load in the browser