See the Website at usb-tree.github.io
USB Tree is a cross-platform desktop and command-line tool that visualizes, logs, and monitors USB devices connected to your computer in real-time. The desktop application is built in Go with Wails v2, combining a native Go backend with a modern Svelte + TypeScript frontend. The command-line tool is still under development but will feature the same Go backend libraries.
Use USB Tree to:
- View all currently connected USB devices in a hierarchical "tree" view
- Log devices connect/disconnect events with timestamps
- Display vendor, and product information
- Compare changes across sessions for debugging or audit purposes
The tool is designed for anyone looking for an easy-to-use, lightweight, and portable solution for monitoring USB devices.
- Cross-Platform: Runs on Linux and Windows
- Dual Interface: CLI and GUI built from a shared Go library
- Real-Time Monitoring: Detect hot-plug events and changes
- Device Metadata: Vendor ID, Product ID, Path, and Bus info
- Lightweight & Fast: Written in Go for efficiency and portability
See GUI documentation for usage details.
See CLI documentation for usage details.
This project is licensed under the GPL-2.0 License.
Alastair Ozmond
Software Engineer | Full-Stack & Systems Developer
