Convert CSV to YAML
Convert CSV to YAML in your browser: load your CSV, choose YAML as the target, and download the result. This conversion preserves every value in your data, and nothing is uploaded to a server.
Convert CSV to YAMLRuns in your browser. Nothing uploaded.
When you need this
Turning a spreadsheet of values into configuration a tool will read, without retyping it and introducing an indentation error at row forty. Common for seed data, fixtures, environment lists and anything a non-engineer maintains in a sheet.
How to convert CSV to YAML
- Load your CSV
- Drag the .csv file in, or paste the rows. An export from Excel, Numbers or a database client works unchanged, including a quoted header row. Nothing leaves your browser at this or any later step.
- Choose the target format
- Press Ctrl+Shift+K (Cmd+Shift+K on a Mac) to open the conversion panel, then pick YAML as the target. The source and the result sit side by side.
- Read the loss report
- The panel shows whether the conversion is lossless for your particular data, and lists every value it had to transform. Adjust indentation, key sorting and null handling if you need to.
- Take the YAML
- Download the .yaml file, copy it, or open it as a new tab to keep working on it in the YAML views.
What survives the conversion
CSV to YAML is lossless for your data: convert back and every value returns. Formatting does not survive — comments and whitespace are lost by every conversion in every direction, in every tool.
- Each row becomes a mapping inside a sequence, so the result is a list even when the CSV has one row.
- Type inference applies as it does for JSON:
truebecomes a boolean and007becomes7unless you turn it off. - A cell containing
yes,no,onoroffis written unquoted. That is correct YAML 1.2, where those are plain strings — but a YAML 1.1 parser (PyYAML, Ruby Psych, several Java libraries) reads bareyesastrue. Quote that column by hand if the file is going to one of those.
A worked example
Rows as a sequence of mappings:
name,enabled
alpha,yes- name: alpha
enabled: yesPrivacy
The conversion runs in your browser — in a Web Worker for anything above a quarter of a megabyte, so the page stays responsive. Your data is not uploaded, not logged and not stored. There is no account, and the whole thing works offline.
Questions
Will a cell containing `yes` come back as a string?
It depends on what reads the file, which is worth knowing before relying on it. The output is enabled: yes, unquoted — a plain string under YAML 1.2, which is what modern parsers implement. Under YAML 1.1, which PyYAML and Ruby Psych still follow, bare yes is boolean true. Quote that column by hand if the consumer is one of those.
Is converting CSV to YAML lossless?
For the data, yes — every value survives a round trip. Formatting does not: comments, whitespace and in some cases key order are lost by any conversion between these formats. Each row becomes a mapping in a sequence.
Is my CSV uploaded to a server?
No. The file is read and converted by your browser. Nothing about its contents is sent anywhere, which you can verify in your browser’s network panel or by using the tool with the network disconnected.