CSV ↔ JSON ↔ YAML Converter
Convert tabular data between CSV, JSON and YAML instantly.
Free · No signup · Nothing leaves your browser
Converter
How to convert CSV, JSON and YAML
- Pick a conversion, for example CSV → JSON.
- Paste your data, drop a file, or choose one from your device.
- Select Convert — or just keep typing, the output updates as you go.
- Copy the result to your clipboard or download it as a file.
Options
- Delimiter: comma, semicolon, tab or pipe.
- Header row on/off — off, CSV columns are named
column_1,column_2, … - Type inference — off, every CSV cell stays a string; on, numbers, booleans and
nullbecome native JSON values. - JSON indent: 2 or 4 spaces.
Limits and errors
- Inputs up to 5 MB of text. Larger files are rejected with an explicit error.
- Parse errors report the line and column where the parser stopped, when the format provides one.
- Nested JSON values (objects/arrays inside table cells) are written as JSON text into the CSV cell — CSV has no nesting.
- Duplicate CSV headers are renamed: the second
idbecomesid_2, and so on.
Privacy
This tool has no server, no accounts, and no tracking. Converting happens entirely in your browser: nothing is uploaded, logged, stored, or shared. Your data never leaves your device.
FAQ
Is my data uploaded anywhere?
No. There is no backend. The conversion runs in your browser's JavaScript; your data never leaves your device. You can even use the tool offline once the page has loaded.
Can I convert CSV directly to YAML?
Not in one step — convert CSV → JSON first, then JSON → YAML. An intermediate keeps each step simple, debuggable, and honest about what changed.
Why did my numbers become strings (or the reverse)?
Type inference is off by default, so CSV cells stay strings. Turn
on “Infer types” to convert number-looking cells to JSON numbers,
true/false to booleans and
null to null. YAML already has native types, so
inference does not apply there.
What is the largest file I can convert?
5 MB of text. The cap keeps the page responsive in a single browser tab; larger inputs are rejected with a clear error.