CSV to YAML
Convert a CSV table into a YAML list of objects keyed by the header row. Runs entirely in your browser, no upload.
About this tool
CSV to YAML turns a CSV table into a YAML list of objects, one object per row, keyed by the header:
- name: Ada
age: 36
- name: Bo
age: 40
- Column order is preserved.
- Type inference (on by default) turns cell text into numbers, booleans, and
null — while leaving leading-zero codes like
007as strings. Turn it off to keep every value a string. - Toggle the header row and pick the delimiter (
,/ tab /;/|).
Privacy
Everything runs in your browser via WebAssembly — your CSV is never uploaded. Also available from the gizza CLI and in chat.
Common uses
- Turn a spreadsheet into a YAML config or fixtures file.
- Convert tabular data for a tool that expects YAML.
FAQ
How does type inference decide what becomes a number or boolean?
With inference on (the default), an empty cell becomes null, true/false
become booleans, and anything that parses as an integer or float becomes a
number. Values that would lose information — like the leading-zero code 007
or a +1 — deliberately stay strings. Switch inference off to keep every
cell a string.
What if my CSV has no header row?
Untick the header option and the tool generates col1, col2, … keys for
each column instead. The same fallback fills in any blank header cells when
the header option is on, so you never get an empty YAML key.
Can rows have different numbers of cells?
Yes — parsing is flexible. The object keys come from the widest row, and any missing cells in shorter rows are emitted as empty values, so every YAML object has the same set of keys.
Which delimiters are supported?
Comma (default), tab, semicolon, and pipe — pick one explicitly if your file isn't comma-separated, since the delimiter is not auto-detected.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool csv-to-yaml "name,age
Ada,36
Bo,40"New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/csv-to-yaml/?data=name%2Cage%0AAda%2C36%0ABo%2C40&header=true&infer_types=true&delimiter=%2CMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
