Apache Kafka client for Mac
Read a topic from the start position you choose, see how far each consumer group lags, and produce a test message, all with KafkaQL. A topic is a log, so the grid reads messages and never edits them.
Works on MacDriver downloads the first time you pick Apache Kafka


At a glance
- Query language
- KafkaQL
- Driver
- Downloads on first use
- Connect with
- Host and port, SSH tunnel, SSL/TLS
- Default port
- 9092
- Minimum version
- 0.11, documented
- iPhone and iPad
- Does not open
Connect
Enter one broker’s host and port; the rest of the cluster is discovered from it, and Additional Bootstrap Servers lists brokers to try if the first does not answer. A connection is one cluster, so there is no Database field and the sidebar shows its topics directly.
Security Protocol is PLAINTEXT, SSL, SASL_PLAINTEXT or SASL_SSL, and SASL Mechanism is PLAIN, SCRAM-SHA-256 or SCRAM-SHA-512. PLAIN suits Confluent Cloud; SCRAM suits Amazon MSK and self-hosted brokers. With SSL or SASL_SSL and no SSL mode chosen, the certificate chain and hostname are verified. A private CA goes in CA Certificate, and a client certificate and key add mutual TLS.
Through an SSH tunnel, the connection stays on the bootstrap broker, so it reads only the partitions that broker leads. Import from URL… accepts kafka:// URLs, which macOS does not open as links.
Read, inspect and produce
Opening a topic shows its most recent messages, newest last, with partition, offset, timestamp, key, value, headers and sizes. Messages from different partitions are interleaved by timestamp as a reading aid; partition and offset are what identify a message. A key or value that is not UTF-8 shows as hex, and a tombstone stays distinct from an empty message.
KafkaQL replaces sorting and filtering with a start position: CONSUME "orders" FROM NEWEST, FROM OLDEST, FROM OFFSET or FROM TIME with an ISO 8601 timestamp, optionally limited to some partitions. SHOW TOPICS, SHOW BROKERS, SHOW GROUPS, SHOW CLUSTER and DESCRIBE TOPIC cover the rest of the cluster.
DESCRIBE GROUP is the lag report: the committed offset, the end offset and the gap, per partition. A partition the group has never committed shows no lag rather than a number counted from zero, and SHOW GROUPS marks its list truncated when a broker cannot be reached.
PRODUCE INTO writes a message with an optional key, headers and partition. A keyed message with no partition lands where Kafka’s own producer would put it. gzip, snappy, lz4 and zstd batches are decompressed as they are read, with no setting to choose.
Cells cannot be edited, rows cannot be deleted and columns cannot be sorted, because Kafka has no update, no per-message delete and no server-side sort, and the grid dims those controls. Each page continues from where the last one stopped, so a topic that is being written to never repeats or skips a message.
Topics
Dropping a topic, from the sidebar or with DROP TOPIC, is the one destructive action. The cluster removes the log afterwards, so the topic can stay in the list for a moment. Truncate is not offered: Kafka removes records by retention or by an offset per partition, and neither empties a topic.
Move data
There is no import; put messages into a topic with PRODUCE INTO. Export the messages a query read as CSV, JSON or XLSX.
iPhone and iPad
The iPhone and iPad app has no Apache Kafka driver. Apache Kafka connections synced from a Mac appear in its list but do not open.
Limits
- Schema Registry is not read, so Avro and Protobuf values show as raw bytes.
- Creating topics, editing topic configuration and resetting consumer-group offsets are not supported.
- Message counts are approximate.
Questions about Apache Kafka
Why do topics load but their messages time out?
The cluster advertises addresses this Mac cannot reach, such as a container hostname or a private IP. Fix advertised.listeners, or set Broker Addresses to use only the bootstrap address.
Does Amazon MSK IAM sign-in work?
No. The SASL mechanisms offered are PLAIN, SCRAM-SHA-256 and SCRAM-SHA-512, so create a SCRAM user on the MSK cluster and connect with SASL_SSL.
Get TablePro
Requires macOS 13 Ventura or later