A professional, 100% client-side web-based serial monitor for embedded systems development. Connect to serial ports directly from your browser using the Web Serial API. Visualize data in real-time, decode protocols, and manage complex debugging workflows, no backend server required.
- Multi-Tab Connections - Open multiple serial ports simultaneously, each in its own independent tab with isolated history, stats, and settings.
- Real-Time Terminal - High-performance terminal with auto-scroll, timestamps, and regex-powered search.
- Live Data Plotter - Visualize incoming numeric data streams with auto-scaling charts; collapsible panel.
- Protocol Decoders - Built-in Modbus RTU and SLIP decoders via a frontend plugin system.
- Data Export - Export logs as TXT, CSV, or JSON with optional filtering.
- Flexible Send Modes - Transmit in ASCII, HEX, or Binary with configurable auto-repeat (pause/resume supported).
- Live Statistics - Per-tab tracking of RX/TX throughput, byte counts, line counts, errors, and uptime.
- Full Serial Configuration - Set baud rate (including custom), data bits, parity, stop bits, and flow control per tab.
- Light & Dark Theme - Toggle between light and dark mode; preference is saved across sessions.
- Keyboard Shortcuts - Productive power-user workflow without lifting your hands off the keyboard.
- A supported browser: Google Chrome, Microsoft Edge, or Opera
(Firefox and Safari do not support the Web Serial API) - A serial device: USB-to-UART adapter, Arduino, ESP32, Raspberry Pi Pico, etc.
This is a fully static, client-side application - no Node.js, Python, or backend needed.
- Plug your serial device into your computer.
- Open the link above in a supported browser.
- Click "+ New" to authorize the browser to access your USB/serial port.
- Select the authorized port, configure baud rate and serial settings, then click Connect.
Browsers require http:// or https:// to use the Web Serial API (not file://). Serve the folder with any simple HTTP server:
Using Python:
python3 -m http.server 8000
# Open http://localhost:8000 in Chrome/EdgeUsing Node.js:
npx serve .
# Open http://localhost:3000 in Chrome/Edge| Layer | Technology |
|---|---|
| Frontend | Vanilla HTML / CSS / JavaScript (zero frameworks) |
| Serial Comms | Web Serial API (navigator.serial) |
| Fonts | Inter & JetBrains Mono |
| Browser | Supported |
|---|---|
| Google Chrome 89+ | ✅ |
| Microsoft Edge 89+ | ✅ |
| Opera 75+ | ✅ |
| Firefox | ❌ (Web Serial not supported) |
| Safari | ❌ (Web Serial not supported) |
This project is licensed under the MIT License.
