JSON ⇄ CSV Converter

Convert JSON to CSV and CSV to JSON instantly. Supports nested object flattening, custom delimiters, and file download. 100% client-side.

180 chars
71 chars

📋 Preview

1Alice30New York
2Bob25London
3Charlie35Tokyo
🔒 100% private: All conversion happens in your browser. Your data never leaves your device.

About JSON to CSV Converter

JSON and CSV are the two most common data formats for developers and analysts. JSON is preferred for APIs and nested data; CSV is preferred for spreadsheets (Excel, Google Sheets), data pipelines, and analytics. Converting between them is a routine task — exporting API data to a spreadsheet, importing CSV into a database, or transforming datasets between systems. This tool converts both ways in your browser: paste JSON and get CSV, or paste CSV and get JSON. It handles nested objects by flattening them (user.name → user_name), supports custom delimiters, and lets you preview the data before downloading.

How It Works

  1. Choose a direction: JSON → CSV or CSV → JSON.
  2. Paste your input data into the text area.
  3. For JSON → CSV: choose a delimiter (comma, semicolon, tab, pipe), enable "Flatten nested objects" if needed, and click Convert.
  4. For CSV → JSON: enable "First row is header" (default), choose delimiter, and click Convert.
  5. Copy the output or download as .csv / .json file.

✨ Key Features

  • ✓JSON → CSV conversion (array of objects)
  • ✓CSV → JSON conversion
  • ✓Custom delimiters: comma, semicolon, tab, pipe
  • ✓Automatic nested object flattening (user.name → user_name)
  • ✓Header row detection and toggling
  • ✓Preview table for quick verification
  • ✓Download as .csv or .json file
  • ✓Handles quoted fields and escaped quotes
  • ✓UTF-8 support including emoji and non-Latin scripts
  • ✓100% client-side — no data sent to any server

🎯 Common Use Cases

  • →Exporting API responses to Excel or Google Sheets
  • →Importing CSV spreadsheets into a JSON-based app
  • →Preparing test data for automated tests
  • →Converting analytics exports into API-ready JSON
  • →Migrating data between systems
  • →Building reports from nested API data
  • →Flattening complex JSON for data analysis
  • →Converting CRM or marketing CSV exports to JSON

💡 Advanced Tips & Pro Insights

  • ▸For JSON → CSV, the input must be an array of objects. An array of primitives or a single object can be wrapped as [{ ... }].
  • ▸Nested objects are flattened with dot notation by default ({"user":{"name":"John"}} → "user.name"). This tool converts dots to underscores in the column header for CSV compatibility.
  • ▸CSV does not support nested structures — flatten or stringify nested values before converting to CSV if you need to preserve them.
  • ▸Semicolon delimiters are common in European locales because decimal numbers use commas (3,14 for 3.14).
  • ▸For very large datasets (100k+ rows), consider streaming tools — this browser-based tool is optimized for datasets up to a few MB.

Frequently Asked Questions

Is this converter free?▾
Yes, this JSON to CSV and CSV to JSON converter is completely free with no signup, email, or usage limits.
Is my data safe?▾
Yes, 100% safe. All conversion happens in your browser. No data is uploaded to any server.
What input does JSON → CSV expect?▾
It expects an array of objects, e.g., [{"name":"Alice","age":30},{"name":"Bob","age":25}]. Each object becomes a row, and keys become columns.
How do I handle nested JSON?▾
Enable "Flatten nested objects" — this converts nested keys to dot notation (user.name) which then becomes column headers like user_name.
What delimiters are supported?▾
Comma (,), semicolon (;), tab (\t), and pipe (|). Semicolons are common in European locales where commas are decimal separators.
Can I convert CSV with semicolons to JSON?▾
Yes. In CSV → JSON mode, choose semicolon as the delimiter before converting.
How are quoted fields handled?▾
Fields containing commas, newlines, or quotes are wrapped in double quotes. Embedded quotes are escaped by doubling them (""), following RFC 4180.
What about very large files?▾
The tool handles datasets up to a few MB smoothly. For 100k+ rows or very large files, consider a desktop or command-line tool (e.g., csvkit, jq, Pandas).