USB Tree

USB Tree — Free Download. Hierarchical USB Device Viewer and Logger
A cross-platform desktop and command-line tool to visualize, log, and monitor USB devices in real-time, displaying the connection topology, vendor and product information, bus details, and a timestamped history of connect/disconnect events.
5.0(1 ratings)

Download USB Tree (Official links)
File size: 6.48 MB
The latest version of USB Tree is: 0.0.5
Operating system: Windows, Linux
Languages: English
Price: $0.00 USD

  • Hierarchical device tree visualization. Presents all connected USB devices in a tree structure that accurately reflects the physical and logical topology of ports and hubs. This representation allows users to understand the exact connection chain for every peripheral.
  • Real-time event monitoring. Instantly detects and displays hot-plug events for device connection and disconnection. The system updates the visualized topology without requiring manual refreshes.
  • Chronological activity logging. Generates a detailed log of all connection and disconnection events, including precise timestamps. This feature aids in auditing and diagnosing intermittent hardware issues.
  • Device metadata display. Shows key technical information for each device, including the Vendor ID, Product ID, system device path, and associated bus information.
  • Cross-session comparison. Enables comparison of the device tree state between different usage sessions. This is useful for debugging, analyzing hardware configuration changes, or verifying device detection after system reboots.
  • Cross-platform compatibility. Runs on Linux and Windows operating systems, providing consistent functionality and user experience across platforms.
  • Dual interface (GUI and CLI). Offers both a graphical desktop application and a command-line interface (currently under development). Both modes share the same core Go libraries for all USB device logic.
  • Modern graphical interface. The desktop application is built with Wails v2, combining a native Go backend with a Svelte and TypeScript frontend, resulting in a dynamic and responsive user interface.
  • Shared core library. All logic for device detection, analysis, and management resides in a common Go library. This library is utilized by both the GUI and the future CLI, ensuring data consistency across all interfaces.
  • Concurrent cache management. Implements a thread-safe device cache to optimize performance and accuracy in change detection, minimizing system overhead during continuous monitoring.
  • Port and bus information. Provides details on the specific physical port and USB bus for each connected device, essential for advanced hardware administration and troubleshooting.

Development of USB Tree was initiated by software engineer Alastair Ozmond, with the first commit to the repository dating back to September 2025. The program is written in the Go programming language, utilizing a shared library for its core logic. The graphical interface employs Wails v2, Svelte, and TypeScript. The project is licensed under GPL-2.0. Development activity, reflected in over 300 commits up to February 2026, has focused on core functionality, the in-progress command-line interface, and continuous improvement of documentation and application stability.


Alternatives to USB Tree: