CSV ⇄ JSON converter
Paste CSV to get JSON, or paste JSON to get CSV — the tool works out which way you are going. Great for turning a spreadsheet export into web-ready data, or the other way around.
Why every value comes out as text
Convert a CSV here and you will notice the numbers arrive in the JSON wrapped in quotes — 30 becomes the string 30, not the number. That is deliberate, and it is the safer default by far. A converter that eagerly turns things into numbers mangles exactly the values people care about: a postcode like 0180 loses its leading zero, a phone number gets rewritten, a long order number ends up in scientific notation. Keeping everything as text means nothing is ever silently altered on the way through. When your code genuinely needs numbers or booleans, convert those specific columns yourself at the point of use — you know which columns are truly numeric; a converter can only guess.
How the table is built going the other way
JSON to CSV has one interesting decision to make: which columns should the table have? This tool takes the union — every key that appears in any object becomes a column, in the order the keys are first met, and objects missing a key simply get an empty cell in that column. That makes ragged, real-world JSON come out as a clean rectangular table instead of an error. Rows are joined with Windows-style line endings, which is what Excel expects, so the downloaded file opens cleanly there. And if your JSON is an array of arrays rather than an array of objects, it converts too — each inner array becomes one row, with no header.
A round-trip habit worth keeping
Because the conversion runs both ways, this doubles as a light data-cleaning bench: take a spreadsheet export to JSON, fix or filter it wherever you are comfortable, and bring it back to CSV for the spreadsheet crowd. One habit prevents most downstream surprises: before shipping the JSON anywhere, paste it into the JSON formatter — a two-second validation that confirms it parses and pretty-prints it for a final read-through. Both tools run entirely in your browser and stay free without limits, so the round trip costs nothing but the paste.
How the conversion works
CSV → JSON: the first row is treated as the column names (unless you untick "First row is a header"), and every following row becomes a JSON object with those keys. JSON → CSV: an array of objects becomes a table, with a column for every key that appears. Quoted fields, commas inside quotes and doubled-up quotes are all handled properly, and you can switch the delimiter to a semicolon or tab for European spreadsheets and tab-separated files. It all happens in your browser — your data is never uploaded.
Which direction does it convert?
Whichever fits what you paste. "Auto-detect" treats input that starts with [ or { as JSON (so it makes CSV) and anything else as CSV (so it makes JSON). You can also force a direction with the dropdown.
My spreadsheet uses semicolons — is that a problem?
Not at all. Many European versions of Excel use a semicolon instead of a comma. Set the delimiter to "Semicolon (;)" (or "Tab" for a TSV file) and it reads and writes it correctly.
What does JSON → CSV do with nested objects?
CSV is a flat, two-dimensional format, so a nested object or array inside a field is written as its JSON text within the cell rather than expanded into more columns. For deeply nested data, flatten it first for the cleanest table.
What if my CSV has no header row?
Untick "First row is a header" and each row becomes a plain array of values instead of an object with named keys — useful for raw, column-less data.
Is my data uploaded?
No. Everything runs in your browser with JavaScript — nothing you paste is sent to a server, logged or stored. That makes it safe for exports that contain customer or business data.
