---
name: "kcat"
section: "1"
platform: "linux"
package: "kcat"
version: "1.7.1-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/kcat"
---

# kcat(1)

generic producer and consumer for Apache Kafka

## NAME

**kcat** – generic producer and consumer for Apache Kafka

## SYNOPSIS

**kcat** **-C** \| **-P** \| **-L** **-t** *topic* \[**-p** *partition*\] **-b** *brokers* \[, *...*\] \[**-D** *delim*\] \[**-K** *delim*\] \[**-c** *cnt*\] \[**-X** *list*\] \[**-X** *prop=val*\] \[**-X** *dump*\] \[**-d** *dbg* \[, *...*\]\] \[**-q**\] \[**-v**\] \[**-Z**\] \[specific options\]

**kcat** **-C** \[generic options\] \[**-o** *offset*\] \[**-e**\] \[**-O**\] \[**-u**\] \[**-J**\] \[**-f** *fmtstr*\]

**kcat** **-P** \[generic options\] \[**-z** *snappy* \| *gzip*\] \[**-p** -1\] \[*file* \[...\]\]

**kcat** **-L** \[generic options\] \[**-t** *topic*\]

## DESCRIPTION

**kcat** is a generic non-JVM producer and consumer for Apache Kafka 0.8, think of it as a netcat for Kafka.

In producer mode ( **-P** ), **kcat** reads messages from stdin, delimited with a configurable delimeter and produces them to the provided Kafka cluster, topic and partition. In consumer mode ( **-C** ), **kcat** reads messages from a topic and partition and prints them to stdout using the configured message delimiter.

If neither **-P** or **-C** are specified **kcat** attempts to figure out the mode automatically based on stdin/stdout tty types.

**kcat** also features a metadata list mode ( **-L** ), to display the current state of the Kafka cluster and its topics and partitions.

## SEE ALSO

For a more extensive help and some simple examples, run **kcat** with **-h** flag.
