> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Data formats

> Data Formats for chDB

When it comes to data formats, chDB is 100% feature compatible with ClickHouse.

Input formats are used to parse the data provided to `INSERT` and `SELECT` from a file-backed table such as `File`, `URL` or `S3`.
Output formats are used to arrange the results of a `SELECT`, and to perform `INSERT`s into a file-backed table.
As well as the data formats that ClickHouse supports, chDB also supports:

* `ArrowTable` as an output format, the type is Python `pyarrow.Table`
* `DataFrame` as an input and output format, the type is Python `pandas.DataFrame`. For examples, see [`test_joindf.py`](https://github.com/chdb-io/chdb/blob/main/tests/test_joindf.py)
* `Debug` as ab output (as an alias of `CSV`), but with enabled debug verbose output from ClickHouse.

The supported data formats from ClickHouse are:

| Format                                     | Input | Output |
| ------------------------------------------ | ----- | ------ |
| TabSeparated                               | ✔     | ✔      |
| TabSeparatedRaw                            | ✔     | ✔      |
| TabSeparatedWithNames                      | ✔     | ✔      |
| TabSeparatedWithNamesAndTypes              | ✔     | ✔      |
| TabSeparatedRawWithNames                   | ✔     | ✔      |
| TabSeparatedRawWithNamesAndTypes           | ✔     | ✔      |
| Template                                   | ✔     | ✔      |
| TemplateIgnoreSpaces                       | ✔     | ✗      |
| CSV                                        | ✔     | ✔      |
| CSVWithNames                               | ✔     | ✔      |
| CSVWithNamesAndTypes                       | ✔     | ✔      |
| CustomSeparated                            | ✔     | ✔      |
| CustomSeparatedWithNames                   | ✔     | ✔      |
| CustomSeparatedWithNamesAndTypes           | ✔     | ✔      |
| SQLInsert                                  | ✗     | ✔      |
| Values                                     | ✔     | ✔      |
| Vertical                                   | ✗     | ✔      |
| JSON                                       | ✔     | ✔      |
| JSONAsString                               | ✔     | ✗      |
| JSONAsObject                               | ✔     | ✗      |
| JSONStrings                                | ✔     | ✔      |
| JSONColumns                                | ✔     | ✔      |
| JSONColumnsWithMetadata                    | ✔     | ✔      |
| JSONCompact                                | ✔     | ✔      |
| JSONCompactStrings                         | ✗     | ✔      |
| JSONCompactColumns                         | ✔     | ✔      |
| JSONEachRow                                | ✔     | ✔      |
| PrettyJSONEachRow                          | ✗     | ✔      |
| JSONEachRowWithProgress                    | ✗     | ✔      |
| JSONStringsEachRow                         | ✔     | ✔      |
| JSONStringsEachRowWithProgress             | ✗     | ✔      |
| JSONCompactEachRow                         | ✔     | ✔      |
| JSONCompactEachRowWithNames                | ✔     | ✔      |
| JSONCompactEachRowWithNamesAndTypes        | ✔     | ✔      |
| JSONCompactEachRowWithProgress             | ✗     | ✔      |
| JSONCompactStringsEachRow                  | ✔     | ✔      |
| JSONCompactStringsEachRowWithNames         | ✔     | ✔      |
| JSONCompactStringsEachRowWithNamesAndTypes | ✔     | ✔      |
| JSONCompactStringsEachRowWithProgress      | ✗     | ✔      |
| JSONObjectEachRow                          | ✔     | ✔      |
| BSONEachRow                                | ✔     | ✔      |
| TSKV                                       | ✔     | ✔      |
| Pretty                                     | ✗     | ✔      |
| PrettyNoEscapes                            | ✗     | ✔      |
| PrettyMonoBlock                            | ✗     | ✔      |
| PrettyNoEscapesMonoBlock                   | ✗     | ✔      |
| PrettyCompact                              | ✗     | ✔      |
| PrettyCompactNoEscapes                     | ✗     | ✔      |
| PrettyCompactMonoBlock                     | ✗     | ✔      |
| PrettyCompactNoEscapesMonoBlock            | ✗     | ✔      |
| PrettySpace                                | ✗     | ✔      |
| PrettySpaceNoEscapes                       | ✗     | ✔      |
| PrettySpaceMonoBlock                       | ✗     | ✔      |
| PrettySpaceNoEscapesMonoBlock              | ✗     | ✔      |
| Prometheus                                 | ✗     | ✔      |
| Protobuf                                   | ✔     | ✔      |
| ProtobufSingle                             | ✔     | ✔      |
| ProtobufList                               | ✔     | ✔      |
| Avro                                       | ✔     | ✔      |
| AvroConfluent                              | ✔     | ✗      |
| Parquet                                    | ✔     | ✔      |
| ParquetMetadata                            | ✔     | ✗      |
| Arrow                                      | ✔     | ✔      |
| ArrowStream                                | ✔     | ✔      |
| ORC                                        | ✔     | ✔      |
| One                                        | ✔     | ✗      |
| Npy                                        | ✔     | ✔      |
| RowBinary                                  | ✔     | ✔      |
| RowBinaryWithNames                         | ✔     | ✔      |
| RowBinaryWithNamesAndTypes                 | ✔     | ✔      |
| RowBinaryWithDefaults                      | ✔     | ✗      |
| Native                                     | ✔     | ✔      |
| Null                                       | ✗     | ✔      |
| XML                                        | ✗     | ✔      |
| CapnProto                                  | ✔     | ✔      |
| LineAsString                               | ✔     | ✔      |
| Regexp                                     | ✔     | ✗      |
| RawBLOB                                    | ✔     | ✔      |
| MsgPack                                    | ✔     | ✔      |
| MySQLDump                                  | ✔     | ✗      |
| DWARF                                      | ✔     | ✗      |
| Markdown                                   | ✗     | ✔      |
| Form                                       | ✔     | ✗      |

For further information and examples, see [ClickHouse formats for input and output data](/reference/formats).
