Seven clients for Apache Kafka, stopwatch in hand.
The same networked cluster, the same data, the same Windows machine. Here are the results, how we got them, and the raw data to redo the maths.
21-22 October 2026
SASL_SSL and SCRAM
Median of 3 runs
Alternating runs
The tests
12 sagainst 52 s for the runner-up and about 4-5 minutes for the others
A typical session
Open the program, see the 10,003 topics, search for a value across 2 million messages.
Topicup12.3 s
Offset Explorer52.3 s
AKHQ3 min 53 s
Redpanda Console4 min 12 s
KafkIO4 min 24 s
Kafka Magic4 min 37 s
Sum of the median startup, topic list and search. Kafbat UI did not finish the search.
4×faster than the runner-up, 20× or more than the others
Search across 2 million messages
A tax code across 2 million JSON messages, 972 MB: 200 expected matches.
Topicup9.9 s
Offset Explorer40.2 s
KafkIO3 min 21 s
AKHQ3 min 24 s
Redpanda Console4 min 4 s
Kafka Magic4 min 25 s
Kafbat UIdid not finish
Kafbat UI stopped after 5 minutes with 160,200 messages read. AKHQ and Redpanda Console: one run; AKHQ with a server setting changed to reach the end.
0.88 sto see all 10,003 topics
Connect and list the topics
From the click to the list on screen.
Topicup0.88 s
Redpanda Console2.83 s
Offset Explorer7.49 s
Kafka Magic7.66 s
AKHQ9.2 s
KafkIO51.3 s
Offset Explorer from the command line. AKHQ shows the first page. Kafbat UI is not charted: between 3 and 58 s, highly variable. KafkIO also counts the messages of every topic.
1.5 sfrom double click to a ready window
Startup
For web tools, the server startup counts.
Topicup1.53 s
Kafka Magic4.37 s
Offset Explorer4.56 s
Redpanda Console5.4 s
KafkIO11.5 s
AKHQ19.4 s
Kafbat UI1 min 50 s
AKHQ, Kafbat UI and Redpanda Console: server startup, one run.
1.5 sto read and show 10,000 messages
Reading 10,000 messages
The last 10,000 of a 2-million-message topic.
Topicup1.5 s
KafkIO6.27 s
Redpanda Console6.81 s
Offset Explorer19 s
Kafka Magic54.8 s
Offset Explorer from the command line. Redpanda Console reads the first 10,000. AKHQ and Kafbat UI read in pages of 50 and 100.
469 MBat the search peak, window included
Memory during the search
Here the one using less wins: Topicup is third.
AKHQ318 MB
Offset Explorer372 MB
Topicup469 MB
Redpanda Console995 MB
KafkIO1,898 MB
Kafka Magic4,821 MB
Working set of all processes. AKHQ: server only, without the browser. Redpanda Console: browser included. Kafbat UI not measured. Topicup: the Rust engine uses 25-130 MB, the rest is WebView2.
Correctness
33 questions with the expected result known in advance: compression codecs, Unicode, a 1 MB message, regex, key, headers, transactions, compaction, JsonPath.
29 identical answers3 Topicup is right1 Offset Explorer is right
The 4 differences
Messages of an aborted transaction
Topicup0Offset Explorer20
Topicup is right
An aborted transaction never happened.
Topic with transactions, 40 committed
Topicup40Offset Explorer60
Topicup is right
Same reason: the 20 aborted ones do not count.
Regex with .* on a 1 MB message
Topicup3, at onceOffset Explorerstopped after 28 min
Topicup is right
Rust's regex engine runs in linear time.
Search by key, hand-assigned partitions
Topicup0Offset Explorer2,000
Offset Explorer is right
Topicup reads only the computed partition. To be improved.
The bench
Client
Frankfurt
Windows Server 2022
4 vCPU, 16 GB
11 ms
Cluster
Milan
Redpanda 26.2.3
SASL_SSL, SCRAM-SHA-512
10,003 topics
2 million JSON, 972 MB
200 expected matches
synthetic, reproducible dataset
The programs
Topicup 0.1.0
Licence used
ours
How
app driven by Playwright; bundled command line
Offset Explorer 4.0.5
Licence used
user interface under the free personal licence; command line within the 30-day trial
How
user interface with automated clicks; search with commandline.exe -findMessages, the same engine as Find Messages
KafkIO 2.1.17
Licence used
free, including for commercial use
How
user interface driven by UI Automation
Kafka Magic 4.0.1 Community
Licence used
Community, free
How
web page driven by Playwright on Edge
AKHQ 0.28.0
Licence used
Apache 2.0
How
the server's REST API, the same its page uses
Redpanda Console 3.13.0
Licence used
free part
How
web page driven by Playwright on Edge
Kafbat UI 1.5.0, formerly Provectus Kafka UI
Licence used
Apache 2.0
How
the server's REST API
Not measured: Kadeck, which requires registration, and products whose licence does not allow publishing comparisons.
How we measure
1
Alternating runs
Topicup and the other program one after the other, in the same time window, so a slow moment on the network weighs on both.
2
One at a time
Only one program at a time on the client. Web servers run on the same machine and read the cluster over the network.
3
Visible end
From the command or click to what the program shows or reports.
4
Median
Of 3 runs; where there is only one run we say so next to the number.
Where the lead narrows
Very long reads
Across 12 million messages, 5.8 GB, the broker's disk becomes the limit: Topicup 1 min 39 s, Offset Explorer 1 min 50 s. About 10%.
Memory
Offset Explorer uses less memory: 145 MB at rest and 372 MB during the search, against 293 and 469 MB for Topicup, mostly the window (WebView2).
All the numbers
Show the full tables
Offset Explorer: search
Offset Explorer: search
Topicup (command line)
Offset Explorer (-findMessages)
Total time, from launch to exit
9.6 s (9.3-18.3)
40.2 s (39.8-41.4)
Search only, as the program reports it
8.8-9.1 s (16.4 in the slow run)
32.6-34.2 s
Messages searched and found
2,000,000, 200
2,000,000, 200
Topicup's slow run, 18.3 s, had the network at 22.6 ms instead of 11, with the broker still busy writing other data.
KafkIO: user interfaces
KafkIO: user interfaces
Topicup (app)
KafkIO
Startup, up to the connection list
1.53 s (1.38-1.53)
11.5 s (11.1-11.7)
Connect and list the 10,003 topics
0.88 s (0.88-0.89)
51.3 s (51.2-53.0)
10,000 messages read and shown
1.50 s (0.94-1.52)
6.3 s (6.2-6.3)
Search across 2 million messages
9.9 s (9.7-10.2), 200 of 200
201 s (193-201), 200 of 200
RAM at rest
293 MB
275 MB
RAM after the topic list
351 MB
1,049 MB
Peak RAM during the search
469 MB
1,898 MB (up to 2,023)
KafkIO fetches the topics with the message count of each (27,026 partitions); Topicup shows the names with one request and loads counts when you open a topic.
Raw data
One JSON line per measurement, as the script wrote it. Only the test PC's paths were removed.
Offset Explorer, Kafka Tool, KafkIO, Kafka Magic, AKHQ, Redpanda Console and Kafbat UI are trademarks of their respective owners. The names are used only to say what we measured: Topicup is not affiliated with or endorsed by their makers.