A lightweight, portable, browser-based serial console using the Web Serial API and xterm.js.
- Zero Dependencies: Runs entirely in the browser. No Node.js or Python required for the host server.
- Portable: Includes a standalone PowerShell-based HTTP server (
serve.bat) for easy local launching. - Modern UI: Dark-themed, responsive interface.
- Terminal: Full functional VT100/xterm emulation.
- Controls:
- Baud rate (standard & custom), Data bits, Parity, Stop bits.
- Hardware Flow Control (RTS/CTS).
- Manual DTR/RTS signal toggling.
- Tools:
- Local Echo: See what you type.
- RX HEX: View received data in hexadecimal.
- Timestamp: Auto-timestamp received lines (with millisecond precision).
- TX HEX: Send data as hexadecimal bytes.
- Log Save: Export session logs to text file.
- Offline Capable: All libraries are included locally.
- Double-click
serve.bat. - A browser window will automatically open to
http://localhost:8080/uart.html. - Click Connect and select your COM port.
You can serve the directory using any static HTTP server. Note that the Web Serial API requires a Secure Context (HTTPS or localhost).
# Python
python -m http.server 8080
# Node.js
npx http-server .Access at http://localhost:8080/uart.html.
- Browser: Chrome 89+ or Edge 89+ (Firefox/Safari do not support Web Serial API yet).
- OS: Windows, Linux, macOS, Android (with compatible browser).
This project is licensed under the MIT License - see the LICENSE file for details.
This project uses the following open-source libraries:
- xterm.js - Terminal component. (MIT License)
- xterm-addon-fit - Fit addon for xterm.js. (MIT License)
- xterm-addon-web-links - Web Links addon for xterm.js. (MIT License)