Skip to main content



This component is mostly stable but breaking changes could still be made outside of major version releases if a fundamental problem with the component is found.

Performs Avro based operations on messages based on a schema.

# Common config fields, showing default values
label: ""
operator: to_json
encoding: textual
schema: ""
schema_path: ""

WARNING: If you are consuming or generating messages using a schema registry service then it is likely this processor will fail as those services require messages to be prefixed with the identifier of the schema version being used. Instead, try the schema_registry_encode and schema_registry_decode processors.



Converts Avro documents into a JSON structure. This makes it easier to manipulate the contents of the document within Benthos. The encoding field specifies how the source documents are encoded.


Attempts to convert JSON documents into Avro documents according to the specified encoding.



The operator to execute

Type: string
Default: "to_json"
Options: to_json, from_json.


An Avro encoding format to use for conversions to and from a schema.

Type: string
Default: "textual"
Options: textual, binary, single.


A full Avro schema to use.

Type: string
Default: ""


The path of a schema document to apply. Use either this or the schema field.

Type: string
Default: ""

# Examples
schema_path: file://path/to/spec.avsc
schema_path: http://localhost:8081/path/to/spec/versions/1


An optional array of message indexes of a batch that the processor should apply to. If left empty all messages are processed. This field is only applicable when batching messages at the input level.

Indexes can be negative, and if so the part will be selected from the end counting backwards starting from -1.

Type: array
Default: []