> For the complete documentation index, see [llms.txt](https://daseldocs.tomwright.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://daseldocs.tomwright.me/input-output/read-write-formats.md).

# Read/Write formats

Dasel supports a number of file formats out of the box.

| Format | Read                 | Write                | Notes                                                                                                                                                                                                   |
| ------ | -------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| json   | :white\_check\_mark: | :white\_check\_mark: |                                                                                                                                                                                                         |
| yaml   | :white\_check\_mark: | :white\_check\_mark: |                                                                                                                                                                                                         |
| hcl    | :white\_check\_mark: | :white\_check\_mark: | [Flags available.](/input-output/read-writer-flags.md#hcl)                                                                                                                                              |
| csv    | :white\_check\_mark: | :white\_check\_mark: | <p><a href="/pages/vs3gpbQfCDqAy6nFm1Qw#csv">Flags available.</a><br>All values read/written as strings.</p>                                                                                            |
| toml   | :grey\_question:     | :grey\_question:     | <p>Generally working.<br>Unsorted maps.</p>                                                                                                                                                             |
| xml    | :white\_check\_mark: | :white\_check\_mark: | <p><a href="/pages/vs3gpbQfCDqAy6nFm1Qw#xml">Flags available.</a><br>Attribute names are prefixed with a <code>-</code> and should be accessed using <a href="/pages/mHhp6NHuJ42wXg2EF9uk">get</a>.</p> |
| ini    | :white\_check\_mark: | :white\_check\_mark: | Limited to basic sections + key values.                                                                                                                                                                 |
| kdl    | :white\_check\_mark: | :white\_check\_mark: | <p><a href="/pages/vs3gpbQfCDqAy6nFm1Qw#kdl">Flags available.</a><br>Supports both v1 and v2 syntax. See <a href="/pages/34XwQcQhhD5gAUSBDait">KDL format</a> for data model details.</p>               |
| dasel  | :white\_check\_mark: | :x:                  | This is not a real format, but instead allows dasel literals to be parsed on input strings.                                                                                                             |
