> For the complete documentation index, see [llms.txt](https://docs.lenses.io/latest/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lenses.io/latest/connectors/tutorials/sink-converters-and-different-data-formats.md).

# Sink converters & different data formats

This page describes configuring sink converters for Kafka Connect.

{% hint style="info" %}
You can configure the converters either at the Connect worker level or at the Connector instance level.
{% endhint %}

### Schema.Struct and a Struct Payload <a href="#schemastruct-and-a-struct-payload" id="schemastruct-and-a-struct-payload"></a>

If you follow the best practice while producing the events, each message should carry its schema information. The best option is to send AVRO.

```properties
key.converter=io.confluent.connect.avro.AvroConverter
key.converter.schema.registry.url=http://localhost:8081
value.converter=io.confluent.connect.avro.AvroConverter
value.converter.schema.registry.url=http://localhost:8081
```

This requires the SchemaRegistry.

### Schema.String and a JSON Payload <a href="#schemastring-and-a-json-payload" id="schemastring-and-a-json-payload"></a>

Sometimes the producer would find it easier to just send a message with **`Schema.String`** and a JSON string. In this case, your connector configuration should be set to **`value.converter=org.apache.kafka.connect.json.JsonConverter`**. This doesn’t require the SchemaRegistry.

```properties
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
```

### No schema and a JSON Payload <a href="#no-schema-and-a-json-payload" id="no-schema-and-a-json-payload"></a>

Many existing systems publish JSON over Kafka and bringing them in line with best practices is quite a challenge, hence we added the support. To enable this support you must change the converters in the connector configuration.

```properties
key.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=false
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.lenses.io/latest/connectors/tutorials/sink-converters-and-different-data-formats.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
