Decoding Kafka Avro and Protobuf Messages
Avro and Protobuf records contain binary data that a generic Kafka consumer
cannot display as readable fields. Confluent provides
kafka-avro-console-consumer and kafka-protobuf-console-consumer for terminal
use. Kafma decodes the same schema-aware records inside each topic tab and keeps
the original bytes available for inspection.
How automatic Kafka deserialization works
Keep the KEY and VALUE decoders on Automatic. When a field uses the standard Confluent wire format with a schema ID in the payload prefix, Kafma reads that ID, fetches the schema from the configured Schema Registry, and applies the matching Avro, Protobuf, or JSON Schema deserializer.
The schema is resolved for each record, so one topic can contain messages written with different schema IDs or versions. When multiple value schema IDs appear in the tab, each row shows its schema ID. Select it to inspect the format, subject, version, references, and schema source.
See Schema Registry settings to add or test a registry connection.
Choose how to decode keys and values
Select the KEY or VALUE column heading to change its decoder. The two columns are independent, which is useful when a topic has string keys and schema-encoded values.
Automatic handles registered schemas and readable text. For data written without Schema Registry, choose String, JSON, Bytes, UUID, Boolean, Short, Integer, Long, Float, or Double to match the producer's serializer. The selected decoder is applied to the records already loaded in the Console.

View decoded and raw messages
Expand a message to inspect its key, value, headers, and metadata. Decoded shows the readable value; Raw shows the original bytes as hexadecimal. You can switch views at any time and copy the active representation.
Large payloads initially show a bounded preview. Select Load full message to retrieve and decode the complete record.

Troubleshoot Kafka Unknown Magic Byte errors
Unknown magic byte usually means a Schema Registry deserializer expected the
Confluent wire format but received something else. For example, a producer may
have written plain JSON, a string, or raw bytes while the consumer expected
Avro or Protobuf.
Kafma does not force every record through a schema deserializer. Without a valid schema prefix, Automatic displays readable text or raw bytes. If the schema ID resolves but the payload does not match the schema, or the registry cannot be reached, the row shows the decode failure and keeps the raw payload available.
Check the producer's serializer, the Schema Registry connection, and the schema ID shown on the message. To test a payload against a schema directly, use Schema Lab.