sauljabin/kaskade

kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!

Python

1,041

612 commits

updated Oct 12, 2026

See the code

README

kaskade

CI status MIT License Sponsor on GitHub
PyPI version Homebrew version
Linux support macOS support

Kaskade is a terminal UI for Kafka. kaskade admin shows your topics, partitions, and consumer groups and lets you create, edit, and delete topics. kaskade consumer reads records from a topic and decodes them as JSON, Avro, or Protobuf, with or without Schema Registry. Everything works from the keyboard.

Screenshots

AdminConsumer
Kaskade admin mode Kaskade consumer mode

Features

Kafka administration

  • Browse topics, partitions, consumer groups, and group members
  • Inspect topic configuration, lag, replicas, and record counts
  • Create, edit, delete, and filter topics without leaving the TUI
  • Refresh topic metadata and metrics every 30 seconds by default, or on demand

Record consumption

  • Deserialize keys and values as bytes, primitives, JSON, Avro, or Protobuf, including Confluent Schema Registry and native Apicurio Registry v3
  • Resolve Registry Protobuf messages and referenced schemas without generated classes
  • Choose raw, Apicurio, or Confluent framing separately for keys and values when decoding with local schemas
  • Filter records by key, value, header, or partition
  • Start from the earliest offsets or explicit partition/offset selections
  • Keep consuming when a key, value, or header fails to decode, and show it as bytes next to the error
  • Show bytes as Base64, hex, byte arrays, or escaped bytes
  • Copy or export individual records as JSON

Connections and configuration

  • Keep Kafka, Registry, and AWS settings in an INI file, or pass them on the command line
  • Raise operation timeouts for slow or distant clusters
  • Connect through TLS, SASL, Confluent Cloud, or Amazon MSK IAM authentication
  • Use Confluent Schema Registry, native Apicurio Registry, or Apicurio's Confluent-compatible API

Terminal experience

  • Navigate entirely by keyboard with arrow and Vim-style shortcuts
  • Customize themes and keybindings
  • Copy data through an OSC 52-compatible terminal

Quick start

Homebrew

brew install kaskade

pipx

pipx install kaskade

Connect to Kafka

Admin view:

kaskade admin -b my-kafka:9092

Consumer view:

kaskade consumer -b my-kafka:9092 -t my-topic

Documentation

Questions

Ask in GitHub Discussions.

Security

Please report vulnerabilities privately, as described in the security policy.

Donations

If Kaskade saves you time, you can sponsor it on GitHub.

AI Assistance

Kaskade is developed with AI assistance. Every AI-assisted change is reviewed and tested before it's merged.

Acknowledgements

Sponsored by LittleHorse Built with Textual

cli
kafka
kafka-cli
kafka-tools
kafka-tui
kafka-ui
kafka-utils
python
tui

sauljabin/kaskade

kaskade is a text user interface for kafka, which allows you to interact and consume topics from your terminal in style!

Python

1,041

612 commits

updated Oct 12, 2026

See the code

README

kaskade

CI status MIT License Sponsor on GitHub
PyPI version Homebrew version
Linux support macOS support

Kaskade is a terminal UI for Kafka. kaskade admin shows your topics, partitions, and consumer groups and lets you create, edit, and delete topics. kaskade consumer reads records from a topic and decodes them as JSON, Avro, or Protobuf, with or without Schema Registry. Everything works from the keyboard.

Screenshots

AdminConsumer
Kaskade admin mode Kaskade consumer mode

Features

Kafka administration

  • Browse topics, partitions, consumer groups, and group members
  • Inspect topic configuration, lag, replicas, and record counts
  • Create, edit, delete, and filter topics without leaving the TUI
  • Refresh topic metadata and metrics every 30 seconds by default, or on demand

Record consumption

  • Deserialize keys and values as bytes, primitives, JSON, Avro, or Protobuf, including Confluent Schema Registry and native Apicurio Registry v3
  • Resolve Registry Protobuf messages and referenced schemas without generated classes
  • Choose raw, Apicurio, or Confluent framing separately for keys and values when decoding with local schemas
  • Filter records by key, value, header, or partition
  • Start from the earliest offsets or explicit partition/offset selections
  • Keep consuming when a key, value, or header fails to decode, and show it as bytes next to the error
  • Show bytes as Base64, hex, byte arrays, or escaped bytes
  • Copy or export individual records as JSON

Connections and configuration

  • Keep Kafka, Registry, and AWS settings in an INI file, or pass them on the command line
  • Raise operation timeouts for slow or distant clusters
  • Connect through TLS, SASL, Confluent Cloud, or Amazon MSK IAM authentication
  • Use Confluent Schema Registry, native Apicurio Registry, or Apicurio's Confluent-compatible API

Terminal experience

  • Navigate entirely by keyboard with arrow and Vim-style shortcuts
  • Customize themes and keybindings
  • Copy data through an OSC 52-compatible terminal

Quick start

Homebrew

brew install kaskade

pipx

pipx install kaskade

Connect to Kafka

Admin view:

kaskade admin -b my-kafka:9092

Consumer view:

kaskade consumer -b my-kafka:9092 -t my-topic

Documentation

Questions

Ask in GitHub Discussions.

Security

Please report vulnerabilities privately, as described in the security policy.

Donations

If Kaskade saves you time, you can sponsor it on GitHub.

AI Assistance

Kaskade is developed with AI assistance. Every AI-assisted change is reviewed and tested before it's merged.

Acknowledgements

Sponsored by LittleHorse Built with Textual

cli
kafka
kafka-cli
kafka-tools
kafka-tui
kafka-ui
kafka-utils
python
tui

Project health

Overall

5.6/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Latest release

5.1.0 · Sep 28, 2026

Releases this year

6

Significant stargazers

sullis

152 followers · starred Dec 2024

Doug Tangren

972 followers · starred Jul 2024

Batuhan Apaydın

958 followers · starred Jul 2024

Adam Lindberg

201 followers · starred Jul 2024