CSV to YAML converter

Convert CSV to YAML: a table becomes a YAML list of records, with numbers and booleans detected per cell.

CSV

YAML

Waiting for input

What you get

How each result is checked

  1. Step 1: The CSV is parsed with a strict parser that reports broken quotes.
  2. Step 1: Every cell in the JSON is compared with the original cell text; nothing may change.
  3. Step 2: Your input is parsed with a strict, standards-compliant parser.
  4. Step 2: The YAML output is parsed back with an independent YAML parser.
  5. Step 2: The parsed-back data is compared with your original, value by value. Any difference is reported with its exact path.

What can't convert exactly

  • Number detection only converts values whose text stays identical, so 007, 1.50 and very long IDs stay text.
  • Duplicate or empty header names are renamed, with a warning.
  • Integers larger than 9,007,199,254,740,991 can lose precision when any JavaScript tool reads JSON. You get a warning when your input has one.
  • Output follows YAML 1.2. Strings that YAML 1.1 readers (PyYAML, Ruby and other older libraries) would read as booleans, numbers or dates, such as yes, no, on, off, 1_000 or 2024-01-01, are quoted, so every YAML reader keeps them as strings.
  • Numbers are written by value: 1.0 becomes 1 and 1e3 becomes 1000. The result names any number whose written form changes, because some readers (Python, for example) treat 1 and 1.0 differently.

Questions

How is a two-step conversion checked?

Your input is converted to JSON first, then to the target format. Each step has its own independent check, and both must pass. The checks of both steps are listed under every result.

Is my data uploaded?

No. Everything runs in your browser, in a background worker. Nothing is sent to a server.

How do I convert CSV to YAML online?

Paste your CSV or open a file on the left (or click Example). The YAML appears on the right as you type, already checked. Copy it, or download it as a file. Nothing is uploaded.

Can the YAML output be wrong?

Every result is checked before it is shown (the checks are listed on this page). If a check fails, the page says "Review needed" and why, instead of presenting the output as correct, and anything that cannot convert exactly is named in the notes.