📊

CSV ↔ JSON Converter

Convert between CSV and JSON instantly. Handles quoted fields, custom delimiters, nested data, and more — everything runs in your browser.

100% Offline · Nothing Uploaded
CSV Input
JSON Output
Advertisement
About this CSV to JSON converter

This free converter turns CSV data into clean JSON and JSON arrays back into CSV, with a live preview, a sortable data table, and one-click copy or download — all without sending your data anywhere.

CSV and JSON are the two formats data travels in most: spreadsheets, database exports, and bank statements lean on CSV, while APIs, config files, and JavaScript apps speak JSON. Moving between them by hand is tedious and error-prone, especially once fields contain commas, quotes, or line breaks. This tool handles that parsing for you. On the CSV side it reads quoted fields, escaped double quotes, and mixed line endings correctly, lets you treat the first row as headers (or fall back to auto-generated column names), and can auto-detect whether your file uses commas, semicolons, tabs, or pipes. On the JSON side it takes an array of flat objects, builds a header row from the union of every key, and quotes any value that needs it. People use it to:

Everything runs locally in your browser using plain JavaScript, so nothing you paste or upload is ever sent to a server — your data never leaves your device. There are no row limits or sign-ups; the only real ceiling is your computer's memory, so very large files are best split into smaller chunks before converting.

How to use
  1. Pick a direction at the top — CSV → JSON or JSON → CSV.
  2. Paste your data into the input panel, use the Paste button, or load the built-in sample to see the format.
  3. Adjust the options to match your data: set the delimiter (or leave it on Auto), toggle whether the first row is a header, and choose trimming or quoting behaviour.
  4. The result appears instantly in the output panel, with a row, column, and byte count and (for CSV → JSON) a table preview of the parsed data.
  5. Copy the output to your clipboard or download it as a .json or .csv file.
FAQ

Fields wrapped in double quotes are parsed as a single value, even if they contain commas or newlines. Escaped quotes inside ("") are converted to a single ". Output that contains the delimiter, a quote, or a newline is automatically quoted on the JSON → CSV side.

The tool supports comma, semicolon, tab, and pipe. CSV → JSON also has an Auto mode that samples your input to pick the most likely delimiter. Use semicolon for European locales or tab (TSV) for data that may contain both commas and semicolons.

Everything runs in your browser, so the upper limit is your device's memory. A few MB of CSV is typically fine; tens of MB may freeze the page during parsing. For very large datasets, split the file into chunks or use a streaming parser locally.

Turn off the Header row toggle and the converter treats every line as data, naming the JSON keys col1, col2, col3 and so on by position. If the toggle is on but a header cell is blank, that column falls back to a generated name like col2 so no key is ever empty. For meaningful JSON keys, keep a real header row at the top of your CSV.

Comma, semicolon, tab, and pipe are all supported in both directions. On the CSV → JSON side there is also an Auto setting that samples the start of your input and picks the most common delimiter, ignoring any that appear inside quoted fields. Pick semicolon for many European exports, or tab for TSV files that may contain commas.

JSON → CSV expects a top-level array of flat objects, building one CSV row per object and one column per unique key across the whole array. If a value is itself an object or array it cannot fit in a single flat cell, so the tool serialises it back to a JSON string in that cell and shows a warning naming the affected columns. Arrays of primitives, like a plain list of numbers, are not supported.

Yes — switch to the JSON → CSV tab and paste a JSON array of objects. The tool writes a header row from the combined set of keys (unless you disable headers), fills missing fields with blanks, and automatically quotes any value that contains the delimiter, a quote, or a line break. Turn on Quote all if you want every field wrapped in quotes for stricter parsers.

Copied!