Dealing with Kafka topics and groups can be a real mission using just the standard scripts. I looked at the web tools available and thought, 'Yeah, nah—too much effort.'
If you're like me and can't be bothered setting up a local web UI just to check a record, here is LazyKafka. It’s the terminal app that does the hard work so you don't have to.
Browse, search, and manage Kafka topics with ease.
- Browse all topics in your cluster
- Real-time search filtering
- View topic details (partitions, replication factor, configs)
- Delete topics with confirmation
- Add partitions to scale your topics
Explore records with powerful filtering and pagination.
- Paginated loading (configurable page size)
- Multiple sort modes: Newest First, Oldest First, Offset Asc/Desc
- Search by key, value, or headers
- Filter by partition
- View full record details (key, value, headers, timestamp, offset)
Monitor consumer groups and their state.
- List all consumer groups
- View group details: state, protocol, members
- Inspect member assignments
- Track committed offsets per topic/partition
Debug Kafka interactions with built-in protocol logging.
- Live logging of API requests/responses
- Correlation ID tracking
- Response time monitoring
- Error code visibility
Keep an eye on your connection and cluster stats.
- Real-time connection status
- Bytes sent/received statistics
- Multi-broker support
Download the executable file compatible with your OS from the releases page here.
https://github.com/nvh0412/lazykafka/releases
# Download the binary (replace with your platform)
# Make it executable
chmod +x lazykafka-*
# Move to a directory in your PATH
sudo mv lazykafka-* /usr/local/bin/lazykafka
Download the .exe file and add it to your PATH.
git clone https://github.com/nvh0412/lazykafka
cd lazykafka
cargo build --releasebrew install lazykafka# Connect to local Kafka
lazykafka
# Connect to specific broker(s)
lazykafka -b kafka1:9092 -b kafka2:9092
# With custom client ID and timeout
lazykafka -b localhost:9092 --client-id my-client --timeout 30| Key | Action |
|---|---|
q |
Quit |
Tab |
Switch between Topics/Consumer Groups |
l |
Focus logs panel |
/ |
Search |
Esc |
Cancel/Back |
| Key | Action |
|---|---|
Enter |
View records |
i |
View topic details |
d |
Delete topic |
p |
Add partitions |
| Key | Action |
|---|---|
j/k or ↑/↓ |
Navigate |
s |
Cycle sort mode |
f |
Filter by partition |
n/p |
Next/Previous page |
i |
View record details |
r |
Refresh |
| Key | Action |
|---|---|
p |
Pause/Resume |
c |
Clear logs |
f |
Filter logs |
g/G |
Jump to top/bottom |
| Option | Default | Description |
|---|---|---|
-b, --broker |
localhost:9092 |
Kafka broker address (repeatable) |
--client-id |
lazykafka-client |
Client identifier |
--timeout |
10 |
Connection timeout in seconds |
- Topic creation UI
- Producer UI for sending test messages
- Avro/Protobuf schema support
- Multi-cluster management
- Record export (JSON/CSV)
- Real-time tail mode
Contributions are welcome! Please feel free to submit a Pull Request.
MIT