> For the complete documentation index, see [llms.txt](https://docs.fluentd.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fluentd.org/0.12/formatter.md).

# Formatter Plugins

Fluentd has 6 types of plugins: [Input](/0.12/input.md), [Parser](/0.12/parser.md), [Filter](/0.12/filter.md), [Output](/0.12/output.md), [Formatter](/0.12/formatter.md) and [Buffer](/0.12/buffer.md). This article gives an overview of Formatter Plugin.

## Overview

Sometimes, the output format for an output plugin does not meet one's needs. Fluentd has a pluggable system called Text Formatter that lets the user extend and re-use custom output formats.

## How To Use

For an output plugin that supports Text Formatter, the `format` parameter can be used to change the output format.

For example, by default, [out\_file](/0.12/output/file.md) plugin outputs data as

```
2014-08-25 00:00:00 +0000<TAB>foo.bar<TAB>{"k1":"v1", "k2":"v2"}
```

However, if you set `format json` like this

```
<match foo.bar>
  @type file
  path /path/to/file
  format json
</match>
```

The output changes to

```
{"time": "2014-08-25 00:00:00 +0000", "tag":"foo.bar", "k1:"v1", "k2":"v2"}
```

i.e., each line is a single JSON object with "time" and "tag fields to retain the event's timestamp and tag.

See [this section](/0.12/developer/plugin-development.md#text-formatter-plugins) to learn how to develop a custom formatter.

## List of Built-in Formatters

* [out\_file](/0.12/formatter/out_file.md)
* [json](/0.12/formatter/json.md)
* [ltsv](/0.12/formatter/ltsv.md)
* [csv](/0.12/formatter/csv.md)
* [msgpack](/0.12/formatter/msgpack.md)
* [hash](/0.12/formatter/hash.md)
* [single\_value](/0.12/formatter/single_value.md)

## List of Output Plugins with Text Formatter Support

* [out\_file](/0.12/output/file.md)
* [out\_s3](/0.12/output/s3.md)

If this article is incorrect or outdated, or omits critical information, please [let us know](https://github.com/fluent/fluentd-docs-gitbook/issues?state=open). [Fluentd](http://www.fluentd.org/) is a open source project under [Cloud Native Computing Foundation (CNCF)](https://cncf.io/). All components are available under the Apache 2 License.
