JSON ↔ CSV Converter

Convert between JSON and CSV in your browser, both directions. Pick a delimiter, see results instantly, copy or download. Proper RFC 4180 quoting on the way out, type coercion on the way in.

  • Runs in browser
  • No signup
  • No tracking
Share

How to use JSON ↔ CSV Converter

  1. Pick the direction: JSON → CSV or CSV → JSON.

  2. Paste your input. Choose a delimiter if it isn't comma.

  3. Copy or download the result.

  4. Use Swap to round-trip and verify nothing was lost.

When to use it

  • Exporting an API response to Excel or Google Sheets.

  • Importing a CSV report into a tool that expects JSON.

  • Producing test fixtures from a spreadsheet.

  • Quickly inspecting which columns are present across a list of records.

What it fixes

  • Hand-quoting CSV fields and missing one that contains a comma.

  • Online converters that paywall the download.

  • Re-typing data because the conversion tool dropped a column.

About JSON ↔ CSV Converter

Spreadsheets speak CSV. Tools speak JSON. Anyone bridging the two ends up writing a one-off converter — quoting rules, embedded commas, type coercion, header derivation. This page does all of that.

JSON → CSV expects an array of objects, derives headers from the union of all keys, and quotes any field with a delimiter, newline, or quote inside (per RFC 4180). CSV → JSON parses with proper quote/newline handling, then coerces obvious numbers, booleans, and nulls. Everything stays in your browser.

References: RFC 4180 — Common Format for CSV · MDN — JSON.stringify

Frequently asked

  • What CSV format does this output?

    RFC 4180-compatible: fields that contain the delimiter, a newline, or a double-quote are wrapped in double quotes, and embedded quotes are doubled. Headers come from the keys of the first object (plus any keys that appear later).

  • How does CSV → JSON handle types?

    Values that look like numbers, booleans (`true`/`false`), or `null` are coerced to those types. Everything else stays a string. To keep all values as strings, post-process the output.

  • Can I use a different delimiter?

    Yes — pick comma, semicolon, tab, or pipe. European locales often use semicolon so commas in numbers don't collide.

  • Are nested objects supported?

    JSON → CSV serializes nested objects/arrays as JSON strings inside the cell. CSV → JSON returns flat objects — there's no header convention for nesting in standard CSV.

Discussion

All tools