[{"data":1,"prerenderedAt":346},["ShallowReactive",2],{"docs-nav":3,"docs-page-\u002Fdocs\u002Fconsole\u002Fproducing-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":45,"body":135,"description":337,"extension":338,"lastUpdated":339,"meta":340,"navTitle":46,"navigation":341,"order":47,"path":44,"seo":342,"sitemap":343,"stem":344,"__hash__":345},"docs\u002Fdocs\u002Fconsole\u002Fproducing-messages.md",{"type":136,"value":137,"toc":328},"minimark",[138,142,147,150,158,161,165,177,188,191,200,204,214,217,224,236,240,247,253,275,279,290,293,296,304,307,311],[139,140,141],"p",{},"Send one record or generate repeatable test messages from the same Console tab\nwhere you inspect a Kafka topic.",[143,144,146],"h2",{"id":145},"what-is-a-kafka-producer","What is a Kafka producer?",[139,148,149],{},"A Kafka producer publishes records to Kafka topics. It serializes each key and\nvalue, chooses a partition, and uses producer acks to control when a send is\nconsidered complete.",[139,151,152,153,157],{},"Apache Kafka includes ",[154,155,156],"code",{},"kafka-console-producer"," for sending records from a\nterminal. Kafma keeps the same workflow next to the messages you are inspecting.",[139,159,160],{},"Kafma puts the Kafka producer and consumer in the same Console tab. Expand the\nproducer to send test records, collapse it to focus on incoming messages, or\nleave a loop running while you inspect another tab or page in the same cluster.\nThis keeps producing, consuming, and debugging in one workflow.",[143,162,164],{"id":163},"send-a-kafka-message-with-a-key-and-headers","Send a Kafka message with a key and headers",[139,166,167,168,172,173,176],{},"Expand the producer and choose an encoding for the ",[169,170,171],"strong",{},"KEY"," and ",[169,174,175],{},"VALUE",". Each\nside supports String, JSON, Bytes, UUID, Boolean, numeric types, and Null.",[139,178,179,180,183,184,187],{},"Enter the payload, add any key-value headers, then select ",[169,181,182],{},"Produce",". Use\n",[169,185,186],{},"Live"," to see the new record arrive in the stream above. New records do not\nappear automatically in a snapshot; refresh it after sending.",[139,189,190],{},"Null and an empty value are different in Kafka. Choose the Null encoding when\nyou intend to send a tombstone rather than an empty payload.",[139,192,193],{},[194,195],"img",{"alt":196,"height":197,"src":198,"width":199},"Sending a Kafka message with a key and JSON value in Kafma’s producer",1446,"https:\u002F\u002Fmedia.kafma.app\u002Fdocs\u002Fget-started\u002Fquickstart\u002Ffirst-messages.png",1560,[143,201,203],{"id":202},"produce-avro-and-protobuf-kafka-messages","Produce Avro and Protobuf Kafka messages",[139,205,206,207,172,210,213],{},"The ",[154,208,209],{},"kafka-avro-console-producer",[154,211,212],{},"kafka-protobuf-console-producer"," commands\nsend schema-encoded records from a terminal. In Kafma, a topic with matching\nSchema Registry subjects binds its key and value automatically.",[139,215,216],{},"Enter the message as JSON. Kafma validates it against the selected Avro,\nProtobuf, or JSON Schema, then serializes it with the schema ID consumers need\nto decode it. You can choose another subject manually, select a schema version,\nand select the Protobuf message type when a schema defines more than one.",[139,218,219],{},[194,220],{"alt":221,"height":222,"src":223,"width":199},"Selecting a schema version for an Avro Kafka message in Kafma’s producer",774,"https:\u002F\u002Fmedia.kafma.app\u002Fdocs\u002Fconsole\u002Fproducing-messages\u002Fkafka-schema-version-picker.png",[139,225,226,227,230,231,235],{},"Select ",[169,228,229],{},"Generate"," to create a sample from the active schema. To validate a\npayload without sending it, use ",[232,233,234],"a",{"href":80},"Schema Lab",".",[143,237,239],{"id":238},"choose-a-partition-and-producer-acks","Choose a partition and producer acks",[139,241,242,243,246],{},"Leave ",[169,244,245],{},"Partition"," on Auto to let the partitioner route the message, using its\nkey when present. Select a specific partition when you need to reproduce\npartition-specific behavior.",[139,248,249,252],{},[169,250,251],{},"Acks"," controls when the send is considered complete:",[254,255,256,263,269],"ul",{},[257,258,259,262],"li",{},[169,260,261],{},"All"," waits for all in-sync replicas and is the default.",[257,264,265,268],{},[169,266,267],{},"Leader"," waits only for the partition leader.",[257,270,271,274],{},[169,272,273],{},"None"," does not wait for a broker acknowledgment, so no reliable offset is\nreturned.",[143,276,278],{"id":277},"generate-kafka-test-messages-on-a-loop","Generate Kafka test messages on a loop",[139,280,281,282,285,286,289],{},"Switch to ",[169,283,284],{},"Loop",", set the interval, and select ",[169,287,288],{},"Run Loop",". By default, every\ntick resends the current key, value, and headers. Enable auto-regeneration for\nKEY or VALUE independently when each message should be different.",[139,291,292],{},"With auto-regeneration enabled, a schema-bound field generates a\nschema-compatible value on each tick; an unbound field generates a random value\nfor its selected encoding. The producer shows the sent count while the loop is\nrunning.",[139,294,295],{},"A running loop continues when you switch Console tabs or open another page for\nthe same cluster. Return to the tab to check the sent count or stop it. Closing\nthe tab or disconnecting the cluster stops the loop.",[139,297,298],{},[194,299],{"alt":300,"height":301,"src":302,"width":303},"Kafma producing schema-generated Kafka messages every second while Live shows them arriving",1366,"https:\u002F\u002Fmedia.kafma.app\u002Fchangelog\u002Fv1.0.0\u002Fhomepage-console-produce.png",2428,[139,305,306],{},"Loop is for generating repeatable test messages, not throughput benchmarking.\nStop it when the test is complete.",[143,308,310],{"id":309},"next-steps","Next steps",[254,312,313,318,323],{},[257,314,315],{},[232,316,317],{"href":36},"Consume Kafka messages",[257,319,320],{},[232,321,322],{"href":49},"Replay and export Kafka messages",[257,324,325],{},[232,326,327],{"href":80},"Validate payloads in Schema Lab",{"title":329,"searchDepth":26,"depth":26,"links":330},"",[331,332,333,334,335,336],{"id":145,"depth":21,"text":146},{"id":163,"depth":21,"text":164},{"id":202,"depth":21,"text":203},{"id":238,"depth":21,"text":239},{"id":277,"depth":21,"text":278},{"id":309,"depth":21,"text":310},"Use Kafma’s Kafka producer to send JSON, text, Avro, or Protobuf messages with keys and headers, or run a timed loop that generates schema-valid test data.","md","2026-08-01",{},true,{"title":45,"description":337},{"loc":44},"docs\u002Fconsole\u002Fproducing-messages","fgXkNABTWaBg0pAs9m7ERMtbQ_-JXUxNjlzhbsq2HpU",1785561255515]