> 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/parser.md).

# Parser 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 Parser Plugin.

## Overview

Sometimes, the `format` parameter for input plugins (ex: [in\_tail](/0.12/input/tail.md), [in\_syslog](/0.12/input/syslog.md), [in\_tcp](/0.12/input/tcp.md) and [in\_udp](/0.12/input/udp.md)) cannot parse the user's custom data format (for example, a context-dependent grammar that can't be parsed with a regular expression). To address such cases. Fluentd has a pluggable system that enables the user to create their own parser formats.

## How To Use

* Write a custom format plugin. [See here for more information](/0.12/developer/plugin-development.md#parser-plugins).
* From any input plugin that supports the "format" field, call the

  custom plugin by its name.

Here is a simple example to read Nginx access logs using `in_tail` and `parser_nginx`:

```
<source>
  @type tail
  path /path/to/input/file
  format nginx
  keep_time_key true
</source>
```

## List of Built-in Parsers

* [regexp](/0.12/parser/regexp.md)
* [apache2](/0.12/parser/apache2.md)
* [apache\_error](/0.12/parser/apache_error.md)
* [nginx](/0.12/parser/nginx.md)
* [syslog](/0.12/parser/syslog.md)
* [csv](/0.12/parser/csv.md)
* [tsv](/0.12/parser/tsv.md)
* [ltsv](/0.12/parser/ltsv.md)
* [json](/0.12/parser/json.md)
* [multiline](/0.12/parser/multiline.md)
* [none](/0.12/parser/none.md)

### 3rd party Parsers

* [grok](https://github.com/fluent/fluent-plugin-grok-parser)

If you are familiar with grok patterns, grok-parser plugin is useful. Use `< 1.0.0` versions for fluentd v0.12.

## List of Core Input Plugins with Parser support

with `format` parameter.

* [in\_tail](/0.12/input/tail.md)
* [in\_tcp](/0.12/input/tcp.md)
* [in\_udp](/0.12/input/udp.md)
* [in\_syslog](/0.12/input/syslog.md)
* [in\_http](/0.12/input/http.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.
