Developer Tools
CSV to JSON Converter
CSV to JSON Converter is part of Toolspire and is ready as soon as this page loads. Paste CSV — or copy cells straight from Excel or Google Sheets — and get clean JSON as you type: an array of objects, arrays, an object keyed by ID, or JSON Lines.
On this page
What you can do here
Straight from Excel
Select cells in Excel or Google Sheets, copy, and paste here — tab-separated data is recognised automatically.
Proper JSON types
Numbers become numbers and true/false become booleans — without breaking IDs like 007 or 16-digit card numbers.
Nested objects
user.name and user.email columns become {"user": {"name": …, "email": …}}.
The shape you need
Objects for APIs, arrays for charts, keyed objects for lookups, or JSON Lines for big-data tools.
Handles messy files
Missing header names, duplicate columns and rows with extra or missing fields are handled and reported.
Private
Customer lists and exports stay on your device — nothing is uploaded.
The sequence
How to convert CSV to JSON
- 1
Add your CSV
Paste CSV, paste cells copied from Excel or Google Sheets, or click Open file to load a .csv file.
- 2
Check the options
Open Options to choose the output shape, indentation, and whether to convert numbers and nest dotted columns.
- 3
Review the JSON
The JSON appears as you type, with a count of rows and columns and notes about any irregular rows.
- 4
Copy or download
Click Copy, or Download a .json (or .jsonl) file.
Worth knowing
- CSV to JSON Converter on Toolspire: turns each CSV row into a JSON object, using the first row as keys (or column1, column2… when there’s no header).
- Detects the delimiter automatically — comma, semicolon, tab or pipe — so cells copied from Excel or Google Sheets can be pasted directly.
- Converts numbers, true/false and empty cells into proper JSON values, while phone numbers, PIN codes with leading zeros and long IDs stay text.
- Columns named like address.city become nested objects.
- Four output shapes: array of objects, array of arrays, an object keyed by the first column, or JSON Lines — with 2 or 4 spaces, tabs or minified.
- Follows RFC 4180: quoted fields, commas and line breaks inside quotes, and doubled quotes all work. Runs in this tab; data is not sent to us.
Output shapes
| Shape | Looks like | Good for |
|---|---|---|
| Objects | [{"id": 1, "name": "Asha"}, …] | APIs, JavaScript, most uses |
| Arrays | [["id", "name"], [1, "Asha"], …] | Charts, compact data, keeping column order |
| Keyed | {"1": {"id": 1, "name": "Asha"}, …} | Looking rows up by ID |
| JSON Lines | {"id": 1, …} on each line | Streaming, logs, BigQuery and data pipelines |
How values are converted
With Convert numbers & booleans on, 42 and 3.14 become numbers, true and false become booleans, and empty cells become null. Values that only look like numbers stay text: anything with a leading zero (phone numbers, PIN codes like 012345, employee IDs like 007) and anything longer than 15 digits (card and account numbers), because JSON numbers would lose those digits.
Switch the option off to keep every value as text exactly as it appears in the CSV.
FAQ
Questions about CSV to JSON Converter
Where does CSV to JSON Converter run?
Can I convert an Excel file to JSON?
Why are some numbers kept as text?
What if my CSV uses semicolons?
Is my data uploaded?
How do I get nested JSON?
Can I convert JSON back to CSV?
Keep going
Related tools
Last updated Report a problem or suggest a feature