Data Converter

Convert between JSON, YAML and CSV, with clear options for preserving CSV value types.

On your device. Your input is not uploaded or saved.

Live conversion · paste or type to begin.

YAML 1.2 only, with string mapping keys. Standard scalar types and bounded aliases are supported. Custom tags, duplicate keys, cyclic aliases and multiple documents are rejected.

Up to 250,000 input characters, 50,000 values and 40 nesting levels. CSV supports 5,000 data rows and 200 columns. Large integers outside JavaScript’s safe range must be strings; duplicate JSON keys keep the last value.

How to convert JSON to YAML or CSV

  1. Choose the input format in From and the output format in To. JSON, YAML and CSV convert in any direction, and the arrow button between them reverses the direction.
  2. Paste your data, or press Load example. The output updates as you type.
  3. For CSV, open CSV options to choose a comma, semicolon or tab delimiter and whether cells contain JSON values.
  4. Read the notes below the output about anything the conversion changed, then copy the result or press Download.

JSON to YAML and back

YAML is read as YAML 1.2 with the core schema. Only true and false become booleans: yes, no, on and off stay strings, so the country code NO never turns into false. Dates stay strings too. An unquoted number with leading zeros, such as 0123, is read as 123, so quote values like that in YAML.

Comments, anchors and formatting are not carried over, and aliases are expanded. Custom tags, duplicate keys and files with several documents are rejected, with the line of the problem where it can be found.

CSV and value types

CSV has no types, so by default every cell is read as text, which keeps leading zeros and long IDs intact. The first row must contain unique, nonblank column names, and each row becomes an object. To write CSV, the data must be an object or an array of objects. Nested values are written as JSON text, and null, missing values and empty strings all become empty cells.

Turn on JSON values in cells to keep types in both directions: each cell then contains a JSON value, such as 42, true, null or a string in double quotes. Choose the semicolon delimiter for spreadsheets with regional settings that use a comma as the decimal separator, or tab for TSV.

Limits

Up to 250,000 input characters, 50,000 values and 40 nesting levels. CSV supports up to 5,000 data rows and 200 columns. Integers outside JavaScript's safe range must be written as strings, and duplicate JSON keys keep the last value. Cells that start with =, +, - or @ are flagged because spreadsheet apps may treat them as formulas; the text itself is kept.

Where does my data go?

Conversion runs in a background worker in your browser. The tool does not upload or save your data.

Like the rest of the site, this page uses Google Analytics and Yandex Metrica, including Metrica session replay. Tool events report only that the tool was opened or used.

The tool area is marked so that Metrica masks what you type and the results in its session recordings.

Also useful

No third-party trackers on JZR Tools. We count anonymous visits with country, referring site and device type only.