---
title: Telegraf input data formats
description: Telegraf supports parsing input data formats into Telegraf metrics.
url: https://docs.influxdata.com/telegraf/v1/data_formats/input/
estimated_tokens: 1932
product: Telegraf
version: v1
---

# Telegraf input data formats

Telegraf [input plugins](/telegraf/v1/plugins/inputs/) consume data in one or more data formats and parse the data into Telegraf \[metrics\]\[/telegraf/v1/metrics/\]. Many input plugins use configurable parsers for parsing data formats into metrics. This allows input plugins such as [`kafka_consumer` input plugin](/telegraf/v1/plugins/#input-kafka_consumer) to consume and process different data formats, such as InfluxDB line protocol or JSON. Telegraf supports the following input **data formats**:

### [Avro](/telegraf/v1/data_formats/input/avro/)

Use the `avro` input data format to parse Avro binary or JSON data into Telegraf metrics.

### [Binary](/telegraf/v1/data_formats/input/binary/)

Use the `binary` input data format with user-specified configurations to parse binary protocols into Telegraf metrics.

### [Collectd](/telegraf/v1/data_formats/input/collectd/)

Use the `collectd` input data format to parse collectd network binary protocol to create tags for host, instance, type, and type instance.

### [CSV](/telegraf/v1/data_formats/input/csv/)

Use the `csv` input data format to parse comma-separated values into Telegraf metrics.

### [Dropwizard](/telegraf/v1/data_formats/input/dropwizard/)

Use the `dropwizard` input data format to parse Dropwizard JSON representations into Telegraf metrics.

### [Form URL-encoded](/telegraf/v1/data_formats/input/form_urlencoded/)

Use the `form-urlencoded` data format to parse `application/x-www-form-urlencoded` data, such as HTTP query strings.

### [Graphite](/telegraf/v1/data_formats/input/graphite/)

Use the `graphite` input data format to parse Graphite dot buckets into Telegraf metrics.

### [Grok](/telegraf/v1/data_formats/input/grok/)

Use the `grok` data format to parse line-delimited data using a regular expression-like language.

### [InfluxDB line protocol](/telegraf/v1/data_formats/input/influx/)

Use the `influx` line protocol input data format to parse InfluxDB metrics directly into Telegraf metrics.

### [JSON](/telegraf/v1/data_formats/input/json/)

The `json` input data format parses JSON objects, or an array of objects, into Telegraf metrics. For most cases, use the JSON v2 input data format instead.

### [JSON v2](/telegraf/v1/data_formats/input/json_v2/)

Use the `json_v2` input data format to parse \[JSON\]\[json\] objects, or an array of objects, into Telegraf metrics.

### [Logfmt](/telegraf/v1/data_formats/input/logfmt/)

Use the `logfmt` input data format to parse logfmt data into Telegraf metrics.

### [Nagios](/telegraf/v1/data_formats/input/nagios/)

Use the `nagios` input data format to parse the output of Nagios plugins into Telegraf metrics.

### [OpenTSDB Telnet PUT API](/telegraf/v1/data_formats/input/opentsdb/)

Use the `opentsdb` data format to parse OpenTSDB Telnet `PUT` API data into Telegraf metrics.

### [Prometheus Remote Write](/telegraf/v1/data_formats/input/prometheus-remote-write/)

Use the `prometheusremotewrite` input data format to parse Prometheus Remote Write samples into Telegraf metrics.

### [Value](/telegraf/v1/data_formats/input/value/)

Use the `value` input data format to parse single values into Telegraf metrics.

### [Wavefront](/telegraf/v1/data_formats/input/wavefront/)

Use the `wavefront` input data format to parse Wavefront data into Telegraf metrics.

### [XML](/telegraf/v1/data_formats/input/xml/)

Use the `xml` input data format to parse XML data into Telegraf metrics.

### [XPath JSON](/telegraf/v1/data_formats/input/xpath_json/)

Use the `xpath_json` input data format and XPath expressions to parse JSON into Telegraf metrics.

### [XPath MessagePack](/telegraf/v1/data_formats/input/xpath_msgpack/)

Use the `xpath_msgpack` input data format and XPath expressions to parse MessagePack data into Telegraf metrics.

### [XPath Protocol Buffers](/telegraf/v1/data_formats/input/xpath_protobuf/)

Use the `xpath_protobuf` input data format and XPath expressions to parse protobuf (Protocol Buffer) data into Telegraf metrics.

Any input plugin containing the `data_format` option can use it to select the desired parser:

```toml
[[inputs.exec]]
  ## Commands array
  commands = ["/tmp/test.sh", "/usr/bin/mycollector --foo=bar"]

  ## measurement name suffix (for separating different commands)
  name_suffix = "_mycollector"

  ## Data format to consume.
  ## Each data format has its own unique set of configuration options, read
  ## more about them here:
  ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
  data_format = "json_v2"
```

## Input parser plugins

When you specify a `data_format` in an [input plugin](/telegraf/v1/plugins/inputs/) configuration that supports it, the input plugin uses the associated [parser plugin](https://github.com/influxdata/telegraf/tree/master/plugins/parsers) to convert data from its source format into Telegraf metrics. Many parser plugins provide additional configuration options for specifying details about your data schema and how it should map to fields in Telegraf metrics.
