{"server": {"port": 8080, "tags": ["api", "v2"]}} becomes three indented lines of server, port and a dashed list. Handy for turning API output into a Kubernetes manifest, a Docker Compose file or a GitHub Actions workflow; strings that YAML could misread are quoted automatically.

How to use

  1. Paste data, drop a file or open one. The input format is detected automatically, or pick it in “From”.
  2. Choose the output format in “To”. The result updates as you type.
  3. Errors show the exact line and column with a caret; tap the error to jump there.
  4. Switch to Tree to explore the parsed data. Copy or download the result, or swap to convert it back.
  • XML attributes become keys starting with @ and element text goes into #text; the same convention is used when writing XML.
  • CSV output flattens nested objects into dot-notation columns (address.city). Downloads include a BOM so Excel opens UTF-8 correctly.
  • TOML has no null and needs a table at the top, so nulls are left out and lists are wrapped in “items”.
  • Turn off “Numbers & booleans” to keep every CSV, XML, INI, .env or query-string value as text.
  • Everything runs in your browser; nothing is uploaded.

How the formats map onto each other

JSON, YAML and TOML share the same data model of objects, arrays, strings, numbers and booleans, so conversion between them is lossless with two exceptions: TOML has no null, and a TOML document must be a table at the top level. Here nulls are dropped and a top-level list is wrapped in an items key. YAML 1.2 is a superset of JSON, so any valid JSON is already valid YAML.

XML is a tree of elements rather than key-value data. Attributes are written as keys starting with @ (id="7" becomes "@id": "7"), element text goes into #text, and repeated child elements become arrays. The same convention is used in reverse when writing XML.

Flat formats: CSV, INI, .env, query strings

CSV is a table, so nested objects are flattened into dot-notation columns such as address.city, and each array item becomes a row. INI sections become objects, .env files become a flat object of key-value pairs (export, quotes and comments are understood), and a query string such as ?tag=a&tag=b&filter[brand]=x becomes {"tag": ["a", "b"], "filter": {"brand": "x"}}.

Types and common gotchas

CSV, XML, INI, .env and query strings have no types: everything is text. By default values like 42, 3.5 and true are turned into numbers and booleans; switch that off to keep zip codes like 02134 and IDs as strings. In YAML, indentation is significant and tabs are not allowed. YAML 1.1 parsers such as PyYAML read unquoted yes, no, on and off as booleans, so quote values like the country code NO.

Frequently asked questions

How do I convert JSON to YAML?

Paste the JSON or drop a .json file, and choose YAML under To. Objects become indented key: value blocks and arrays become lists with dashes. Copy the result or download a .yaml file.

Is any valid JSON also valid YAML?

Yes, for YAML 1.2, which was designed as a superset of JSON. Converting still helps because block-style YAML is easier to read and allows comments.

What happens to XML attributes when converting to JSON?

They become keys prefixed with @, so <item id="7">Pen</item> turns into {"item": {"@id": "7", "#text": "Pen"}}. Repeated elements with the same name become an array.

How are nested JSON objects converted to CSV?

They are flattened into columns with dot notation, for example address.city and address.zip. An array of objects produces one row per object, ready for Excel.

Why is null missing in my TOML output?

TOML has no null value. Keys whose value is null are left out, so check whether your application treats a missing key the same way.

Is my data uploaded?

No. Parsing and conversion run locally in your browser, so configuration files with passwords or API keys never leave your device.

Often used with

How to use

Steps

  1. Paste data, drop a file or open one. The input format is detected automatically, or pick it in “From”.
  2. Choose the output format in “To”. The result updates as you type.
  3. Errors show the exact line and column with a caret; tap the error to jump there.
  4. Switch to Tree to explore the parsed data. Copy or download the result, or swap to convert it back.

Shortcuts

Ctrl + EnterConvert now and copy the resultTabInsert two spaces in the input

Good to know

Runs in your browser. Files and text never leave your device.