[{"data":1,"prerenderedAt":293},["ShallowReactive",2],{"docs-nav":3,"docs-page-\u002Fdocs\u002Fconsole\u002Fdecoding-messages":133},[4,27,53,68,83,98,117],{"slug":5,"label":6,"pages":7},"get-started","Get Started",[8,12,17,22],{"path":9,"title":10,"order":11},"\u002Fdocs","Welcome",0,{"path":13,"title":14,"navTitle":15,"order":16},"\u002Fdocs\u002Fget-started\u002Fquickstart","Quickstart",null,1,{"path":18,"title":19,"navTitle":20,"order":21},"\u002Fdocs\u002Fget-started\u002Fconnect-to-a-cluster","Connecting to a Kafka Cluster","Clusters",2,{"path":23,"title":24,"navTitle":25,"order":26},"\u002Fdocs\u002Fget-started\u002Flicense","Licensing and Activation","License",3,{"slug":28,"label":29,"pages":30},"console","Console",[31,35,39,43,48],{"path":32,"title":33,"navTitle":34,"order":16},"\u002Fdocs\u002Fconsole\u002Foverview","Produce and Consume Messages in the Kafka Console","Overview",{"path":36,"title":37,"navTitle":38,"order":21},"\u002Fdocs\u002Fconsole\u002Fconsuming-messages","Kafka Consumer: Reading Messages from a Topic","Consuming",{"path":40,"title":41,"navTitle":42,"order":26},"\u002Fdocs\u002Fconsole\u002Fdecoding-messages","Decoding Kafka Avro and Protobuf Messages","Decoding",{"path":44,"title":45,"navTitle":46,"order":47},"\u002Fdocs\u002Fconsole\u002Fproducing-messages","Kafka Producer: Sending Messages to a Topic","Producing",4,{"path":49,"title":50,"navTitle":51,"order":52},"\u002Fdocs\u002Fconsole\u002Freplay-forward-and-export","Replay and Export Kafka Messages","Replay & export",5,{"slug":54,"label":55,"pages":56},"topics","Topics",[57,60,64],{"path":58,"title":59,"navTitle":34,"order":16},"\u002Fdocs\u002Ftopics\u002Foverview","Browse and Inspect Kafka Topics",{"path":61,"title":62,"navTitle":63,"order":21},"\u002Fdocs\u002Ftopics\u002Fcreate-a-topic","Create a Kafka Topic: Partitions, Replication, and Retention","Create a topic",{"path":65,"title":66,"navTitle":67,"order":26},"\u002Fdocs\u002Ftopics\u002Fpartitions-and-records","Adding Kafka Partitions and Deleting Records","Partitions & records",{"slug":69,"label":70,"pages":71},"schema-registry","Schema Registry",[72,75,79],{"path":73,"title":74,"navTitle":34,"order":16},"\u002Fdocs\u002Fschema-registry\u002Foverview","Browse Kafka Schema Registry Subjects and Versions",{"path":76,"title":77,"navTitle":78,"order":21},"\u002Fdocs\u002Fschema-registry\u002Fnew-versions","Register Kafka Schemas and Publish New Versions","New versions",{"path":80,"title":81,"navTitle":82,"order":26},"\u002Fdocs\u002Fschema-registry\u002Fmock-and-lab","Avro Schema Validator and Mock Data Generator","Mock & Lab",{"slug":84,"label":85,"pages":86},"consumer-groups","Consumer Groups",[87,90,94],{"path":88,"title":89,"navTitle":34,"order":16},"\u002Fdocs\u002Fconsumer-groups\u002Foverview","Browse Kafka Consumer Groups and Assignments",{"path":91,"title":92,"navTitle":93,"order":21},"\u002Fdocs\u002Fconsumer-groups\u002Flag","Monitor Kafka Consumer Lag","Lag",{"path":95,"title":96,"navTitle":97,"order":26},"\u002Fdocs\u002Fconsumer-groups\u002Freset-offsets","Reset Kafka Consumer Group Offsets","Reset offsets",{"slug":99,"label":100,"pages":101},"data-clone","Data Clone",[102,105,109,113],{"path":103,"title":104,"navTitle":34,"order":16},"\u002Fdocs\u002Fdata-clone\u002Foverview","Clone Kafka Topics Between Clusters",{"path":106,"title":107,"navTitle":108,"order":21},"\u002Fdocs\u002Fdata-clone\u002Fscope-and-range","Configure Kafka Topic Cloning","Scope & range",{"path":110,"title":111,"navTitle":112,"order":26},"\u002Fdocs\u002Fdata-clone\u002Fmasking","Mask Sensitive Data in Kafka Messages","Masking",{"path":114,"title":115,"navTitle":116,"order":47},"\u002Fdocs\u002Fdata-clone\u002Fpre-flight","Run Pre-flight Checks Before a Kafka Data Clone","Pre-flight",{"slug":118,"label":119,"pages":120},"operate","Operate",[121,125,129],{"path":122,"title":123,"navTitle":124,"order":16},"\u002Fdocs\u002Foperate\u002Fbrokers","Inspect Kafka Brokers and Cluster Configuration","Brokers",{"path":126,"title":127,"navTitle":128,"order":21},"\u002Fdocs\u002Foperate\u002Faccess-control","Inspect Kafka ACLs and Simulate Access","Access Control",{"path":130,"title":131,"navTitle":132,"order":26},"\u002Fdocs\u002Foperate\u002Factivity-logs","Review Kafka Changes in Kafma Activity Logs","Activity Logs",{"id":134,"title":41,"body":135,"description":284,"extension":285,"lastUpdated":286,"meta":287,"navTitle":42,"navigation":288,"order":26,"path":40,"seo":289,"sitemap":290,"stem":291,"__hash__":292},"docs\u002Fdocs\u002Fconsole\u002Fdecoding-messages.md",{"type":136,"value":137,"toc":276},"minimark",[138,151,156,164,167,176,180,191,194,203,207,218,225,233,237,243,246,253,257],[139,140,141,142,146,147,150],"p",{},"Avro and Protobuf records contain binary data that a generic Kafka consumer\ncannot display as readable fields. Confluent provides\n",[143,144,145],"code",{},"kafka-avro-console-consumer"," and ",[143,148,149],{},"kafka-protobuf-console-consumer"," for terminal\nuse. Kafma decodes the same schema-aware records inside each topic tab and keeps\nthe original bytes available for inspection.",[152,153,155],"h2",{"id":154},"how-automatic-kafka-deserialization-works","How automatic Kafka deserialization works",[139,157,158,159,163],{},"Keep the KEY and VALUE decoders on ",[160,161,162],"strong",{},"Automatic",". When a field uses the standard\nConfluent wire format with a schema ID in the payload prefix, Kafma reads that\nID, fetches the schema from the configured Schema Registry, and applies the\nmatching Avro, Protobuf, or JSON Schema deserializer.",[139,165,166],{},"The schema is resolved for each record, so one topic can contain messages\nwritten with different schema IDs or versions. When multiple value schema IDs\nappear in the tab, each row shows its schema ID. Select it to inspect the\nformat, subject, version, references, and schema source.",[139,168,169,170,175],{},"See ",[171,172,174],"a",{"href":173},"\u002Fdocs\u002Fget-started\u002Fconnect-to-a-cluster#schema-registry","Schema Registry settings","\nto add or test a registry connection.",[152,177,179],{"id":178},"choose-how-to-decode-keys-and-values","Choose how to decode keys and values",[139,181,182,183,186,187,190],{},"Select the ",[160,184,185],{},"KEY"," or ",[160,188,189],{},"VALUE"," column heading to change its decoder. The two\ncolumns are independent, which is useful when a topic has string keys and\nschema-encoded values.",[139,192,193],{},"Automatic handles registered schemas and readable text. For data written\nwithout Schema Registry, choose String, JSON, Bytes, UUID, Boolean, Short,\nInteger, Long, Float, or Double to match the producer's serializer. The selected\ndecoder is applied to the records already loaded in the Console.",[139,195,196],{},[197,198],"img",{"alt":199,"height":200,"src":201,"width":202},"Choosing how to decode Kafka message keys and values, including JSON, numeric types, bytes, UUID, and Boolean",926,"https:\u002F\u002Fmedia.kafma.app\u002Fdocs\u002Fconsole\u002Fdecoding-messages\u002Fkey-value-decode.png",1564,[152,204,206],{"id":205},"view-decoded-and-raw-messages","View decoded and raw messages",[139,208,209,210,213,214,217],{},"Expand a message to inspect its key, value, headers, and metadata. ",[160,211,212],{},"Decoded","\nshows the readable value; ",[160,215,216],{},"Raw"," shows the original bytes as hexadecimal. You\ncan switch views at any time and copy the active representation.",[139,219,220,221,224],{},"Large payloads initially show a bounded preview. Select ",[160,222,223],{},"Load full message"," to\nretrieve and decode the complete record.",[139,226,227],{},[197,228],{"alt":229,"height":230,"src":231,"width":232},"A decoded Avro message with its schema ID, metadata, and Decoded and Raw views",1204,"https:\u002F\u002Fmedia.kafma.app\u002Fchangelog\u002Fv1.0.0\u002Fhomepage-console-decode.png",2428,[152,234,236],{"id":235},"troubleshoot-kafka-unknown-magic-byte-errors","Troubleshoot Kafka Unknown Magic Byte errors",[139,238,239,242],{},[143,240,241],{},"Unknown magic byte"," usually means a Schema Registry deserializer expected the\nConfluent wire format but received something else. For example, a producer may\nhave written plain JSON, a string, or raw bytes while the consumer expected\nAvro or Protobuf.",[139,244,245],{},"Kafma does not force every record through a schema deserializer. Without a valid\nschema prefix, Automatic displays readable text or raw bytes. If the schema ID\nresolves but the payload does not match the schema, or the registry cannot be\nreached, the row shows the decode failure and keeps the raw payload available.",[139,247,248,249,252],{},"Check the producer's serializer, the Schema Registry connection, and the schema\nID shown on the message. To test a payload against a schema directly, use\n",[171,250,251],{"href":80},"Schema Lab",".",[152,254,256],{"id":255},"next-steps","Next steps",[258,259,260,266,271],"ul",{},[261,262,263],"li",{},[171,264,265],{"href":44},"Produce Kafka messages",[261,267,268],{},[171,269,270],{"href":49},"Replay and export Kafka messages",[261,272,273],{},[171,274,275],{"href":73},"Browse Schema Registry subjects",{"title":277,"searchDepth":26,"depth":26,"links":278},"",[279,280,281,282,283],{"id":154,"depth":21,"text":155},{"id":178,"depth":21,"text":179},{"id":205,"depth":21,"text":206},{"id":235,"depth":21,"text":236},{"id":255,"depth":21,"text":256},"Decode Avro and Protobuf Kafka messages automatically with Schema Registry, and inspect raw payloads when decoding fails with “Unknown magic byte”.","md","2026-08-01",{},true,{"title":41,"description":284},{"loc":40},"docs\u002Fconsole\u002Fdecoding-messages","fO49c6VaaDU9HUMBn1ASy-rg1cXhBRwrkZHbv0WZgQk",1785561255515]