CSV ↔ JSON ↔ YAML Converter

Convert tabular data between CSV, JSON and YAML instantly.

Free · No signup · Nothing leaves your browser

Converter

Options

0 chars

Paste text, drop a file below, or use “Choose file”.

Drop a .csv, .json or .yaml file here

Output is read-only — copy or download it below.

How to convert CSV, JSON and YAML

  1. Pick a conversion, for example CSV → JSON.
  2. Paste your data, drop a file, or choose one from your device.
  3. Select Convert — or just keep typing, the output updates as you go.
  4. 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 null become 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 id becomes id_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.