Skip to content

Repository files navigation

TopicBench

Free, open-source MQTT explorer and monitor for builders and testers.

TopicBench main window

Why TopicBench

I use MQTT brokers every day for apps and controls. Existing tools never quite delivered easy navigation, multi-broker handling, data simulation, highlighting and searching content, or flexible windowing — moving panels around and keeping multiple topic trees in view. TopicBench’s features grew from those daily needs.

I'm happy with the performance: among the MQTT desktop tools I've tried, TopicBench stays ahead on CPU, memory, and small download size — a native Rust app that keeps large topic trees responsive without a heavy footprint.

TopicBench process footprint in X-Ray: 0.1% CPU, 138.6 MiB, 23 threads

  • Simultaneous multi-broker — connect to several brokers at once and monitor or search their topics in a single window
  • Multi-broker profiles — save hosts, TLS/WSS options, and credentials (passwords in the OS keyring)
  • Live topic tree — subscribe with wildcards and browse traffic as it arrives; keep multiple trees in view
  • Flexible windowing — move panels and arrange the layout for how you work
  • Search & highlight — find topics and payloads without leaving the desktop UI
  • Publish & recent — send messages quickly and keep recent payloads handy
  • Payload inspect — clear views for JSON and plain text
  • Stickies & graphs — pin important topics and watch values over time
  • Free & open source — use it, report issues, contribute
  • Updates via GitHub Releases — in-app check for every install; bare Linux/Windows binaries can self-replace, packaged installs notify and may need a manual upgrade
  • 100% Rust — built entirely in Rust for efficient memory and CPU use on large topic trees and lists

Features

  • Connection profiles (MQTT TCP / WebSocket, optional TLS)
  • Concurrent live sessions across brokers in one window
  • Topic subscriptions with + / #
  • Shared sticky board across profiles
  • Publish with QoS and retain
  • Full keyboard shortcuts & navigation — F1 / ? help, panel toggles, search focus, and more

Download

Latest free release: v1.2.5 — typical asset sizes below (from that release).

Typical size
Windows portable (x64) TopicBench-windows-x64-portable.zip ~16 MB
Windows exe (x64) topicbench-windows-x64.exe ~32 MB
Linux binary (x64) topicbench-linux-x64 ~28 MB
Linux AppImage (x64) TopicBench-x86_64.AppImage
Debian / Ubuntu (.deb) topicbench_1.2.5_amd64.deb ~15 MB
Fedora / RHEL / openSUSE (.rpm) topicbench-1.2.5-1.x86_64.rpm
Arch / Omarchy (AUR) topicbench-bin — yay -S topicbench-bin same as Linux binary
SHA-256 checksums SHA256SUMS

Windows: unzip the portable zip and run TopicBench.exe, or use the standalone .exe. Linux binaries target glibc 2.35+ (Ubuntu 22.04 / Debian 12 and newer).

Updates: the bare Linux binary and Windows portable / bare .exe can apply updates in place (download → verify SHA-256 → replace their own files). AppImage, .deb, .rpm, and AUR installs still get in-app update notifications; installing the new package is usually manual (system paths aren’t writable by the app). Packaging scripts: packaging/README.md.

Arch: AUR package installs the Release binary + desktop entry (OSS only). PKGBUILD lives in-tree; publish steps in packaging/aur/README.md.

All releases · Source on GitHub

TopicBench Pro

Paid extras for teams that outgrow the free explorer — same app, unlock Pro when you need them. Standalone download for licensed customers; the free app stays unrestricted for base features. Product page: TopicBench Pro.

  • MCP server — connect, subscribe, publish, and wait from Cursor / CI against live sessions
  • Topic & payload simulation — generators and formulas for whole payloads or JSON fields
  • Record → simulate — capture live traffic, then suggest Simulate rows from the tape
  • Scenario player — sequenced, timed multi-topic publish scripts
  • Combined multi-topic graph — shared time axis across Graph stickies
  • History scrubber — scrub per-topic history in the Payload panel
  • Topic bookmarks — jump list into deep trees
  • Custom color rules — paint tree rows by topic / payload predicates
  • UI themes — pick a look that’s easier on the eyes or fits your environment
  • Topic tree export & import — JSON hierarchy out, republish onto a target broker
  • CSV recording — time-series dumps for Excel

Combined graphs

Combined graphs let you overlay multiple channels on a single time-logged graph — useful for correlating data across topics and even across brokers.

TopicBench Pro combined multi-topic graph

Simulation

Simulation publishes scripted MQTT data into your live sessions. You can also auto-create simulations from recorded sessions to replicate datasets with a best-guess prediction of the observed series.

TopicBench Pro Simulation panel

Color rules

Color rules highlight topics in the tree based on payload matches, topic matches, and individual values within payloads.

TopicBench Pro color rules

Bookmarks

Bookmarks jump you anywhere in a tree and auto-expand that topic for immediate access.

TopicBench Pro bookmarks

Learn about TopicBench Pro →

Build from source

Requirements: Rust stable ≥ 1.80 (rustup update stable), plus Linux GUI libs (typically libxcb, libxkbcommon, and a Vulkan/GL stack).

git clone https://github.com/unipsycho/topicbench.git
cd topicbench
cargo run --release

Profiles: ~/.config/topicbench/profiles.json
Settings: ~/.config/topicbench/settings.json

Windows: native cargo build --release on Windows works; the Windows icon is embedded via winres (MinGW windres when cross-compiling from Linux).

License

MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.

Releases

Packages

Contributors

Languages