CSV to JSON Converter
This free CSV to JSON converter turns spreadsheet exports and database dumps into JSON entirely in your browser. Paste your data or upload a file, pick the shape you want, and copy or download the result. Nothing leaves your device, and there is no sign-up.
How to use this csv to json converter
- Paste your CSV or TSV into the box, or upload a
.csv/.tsvfile. - Leave the delimiter on Auto-detect, or pick comma, semicolon, tab, or pipe yourself.
- Choose Array of objects (first row becomes the keys) or Array of arrays (rows only).
- Click Convert to JSON, then copy the result or download it as
.json.
What this tool supports
Delimiters
Auto-detect counts comma, semicolon, tab, and pipe outside quoted fields on the first row and picks the one that appears most. You can always override it manually — useful for European exports that use ;.
Encoding
Input is read as UTF-8. A byte order mark (BOM) at the start of the file is stripped automatically, so exports from Excel and other spreadsheet apps load without a stray character in the first column name.
Type conversion
With Detect types on, values are converted instead of being kept as text:
42,-3.5,1.0become numbers.trueandfalse(any letter case) become booleans.nullbecomesnull, and an empty cell also becomesnull.- Values with a leading zero —
007,01234— stay strings, so zip codes, phone numbers and IDs keep their zeros. - Very long digit strings stay strings, so large identifiers are not silently rounded.
Turn Detect types off and every value is emitted as a string.
Quoted fields and line breaks
Fields may be wrapped in double quotes. Inside a quoted field, a comma, a tab, or a line break is treated as part of the value rather than as a separator, so a column containing a multi-line address stays in one field. A doubled quote "" inside a quoted field is read as a single ". Trailing empty rows are dropped.
Empty cells
A cell with nothing in it becomes null when type detection is on, and an empty string when it is off. Columns are never dropped, so every row keeps the same keys.
Files and privacy
Uploaded files are read with the browser's own file reader and never leave your device. There is no upload endpoint on this page, no account, and no stored history. You can disconnect from the internet after the page loads and it will still work.
FAQ
Is this CSV to JSON converter free?
Yes. Like the JSON to CSV converter on the home page, it is free with no login and no usage limit, and all processing stays in your browser. See that page's FAQ for the full privacy and file-size details.
Can I convert TSV to JSON?
Yes. Tab-separated files work the same way. Auto-detect recognises the tab delimiter, or you can set the delimiter to Tab manually before converting.
Which output shape should I choose?
Choose Array of objects when the first row holds column names — each row becomes an object keyed by those names, which is what most APIs and JavaScript apps expect. Choose Array of arrays when you want the raw rows with no keys.
What if my CSV has no header row?
Uncheck First row is header. In object mode the columns are then named column1, column2, and so on, and every row is treated as data.
Why does a value like 0123 stay a string?
Leading zeros usually carry meaning — a zip code, a phone number, or a fixed-width ID. Converting 0123 to a number would drop the zero, so those values are kept as text. The same applies to very long digit strings where a number would lose precision.
Do quoted fields with commas or line breaks work?
Yes. A quoted field is read as a single value, including any commas, tabs, or line breaks inside it. A double quote inside the field is written as two double quotes.
Is there a file size limit?
There is no imposed limit — conversion runs in your browser's memory, so very large files depend on your device. The JSON to CSV converter page covers how this applies to large inputs.
Can I convert JSON back to CSV?
Yes — use the JSON to CSV converter on the home page for the reverse direction.