JW Tool Box

CSV to JSON Converter (Table, Array, Excel)

Bi-directional conversion between Spreadsheet formats (CSV/TSV) and JSON arrays. ideal for data seeding, API mocking, and reporting.

Convert CSV or TSV to JSON (and back) with proper quoting, headers, and clipboard support.

The definitive bridge between legacy corporate spreadsheets and modern web APIs. Instantly serialize clunky CSV or TSV data into beautifully formatted JSON object arrays (and vice versa). Our robust local parsing engine easily swallows edge cases like escaped quotes, internal newlines, and custom delimiters without ever exposing your proprietary employer data to the cloud.

How this page is maintained

  • Steps and copy are checked against the current tool behavior.
  • Browser limits, file-size constraints, or compatibility gaps are documented when relevant.
  • Unless a page explicitly says otherwise, files and text stay in the browser during processing.

How to Convert CSV to JSON Without Uploading a File

Paste CSV or TSV into the input panel, pick the direction, and copy the result. The first row is read as the header row and becomes the property keys when converting to JSON. The tool handles quoted fields containing commas, escaped double quotes, and both CRLF and LF line endings, so an export straight out of Excel does not need cleanup first.

A Worked Example

Input:

name,city,note
Ada,"Austin, TX","said ""hello"""
Grace,London,

Output:

[
{
"name": "Ada",
"city": "Austin, TX",
"note": "said "hello""
},
{
"name": "Grace",
"city": "London",
"note": ""
}
]

Two things are worth noticing. The comma inside "Austin, TX" never becomes a separator, because it sits inside quotes. The doubled quotes in the note collapse into one escaped quote, which is valid JSON. A short final row still produces an object, with an empty string for the missing value.

Going the Other Way

Converting JSON to CSV wraps any value that contains a comma, a quote, or a newline in double quotes, so the output pastes cleanly into Excel, Numbers, or Google Sheets without columns splitting apart. Nested objects and arrays are written as their text form, so flatten nested structures before converting if you need one column per field.

Delimiters and Size

Switch the delimiter to TSV when working with pasted spreadsheet selections. Because parsing happens in the browser, size is limited by your device memory rather than an upload cap; exports of tens of thousands of rows are typical.

Your file and text are parsed in your browser and are not uploaded to JW Tool Box. The site separately collects usage information as described in the Privacy Policy.

For the longer walkthrough see convert CSV to JSON and back without Excel, and format the result with the JSON formatter.

Turning a Three-Row CSV into JSON and Back Again

Start with the default document already in the input panel:

name,role
Ada,Engineer
Ben,Designer

That is 35 characters. With Input set to CSV, Output set to JSON, and one click on Convert, the output panel holds 104 characters: a JSON array with two objects, indented by two spaces, each carrying the keys name and role. Click Swap and the tool flips the directions, moves the JSON into the input panel, and sets Output to CSV; clicking Convert now returns a 35-character CSV with the same header row. For the default three-row sample the round trip is lossless. The interesting part is where it is not.

The Exact Clicks

Set the Input selector to CSV, TSV, or JSON, set the Output selector to one of the same three values, paste your data in the left panel, then click Convert. The output area is read-only and shows a live character count next to a Copy button. Swap exchanges the two format selectors and seeds the input from whatever is currently in the output, so JSON to CSV to JSON is two clicks plus two Converts. Clear empties both panels. Note that every field is typed by hand: there is no file picker on this tool, so an exported spreadsheet has to be copied and pasted rather than uploaded.

The Decisions That Change the Output

JSON is the right target when the data feeds code: the CSV header row becomes object keys, and each following row becomes one object. CSV and TSV are the right targets when the data feeds a spreadsheet, since the same three rows are 35 characters in CSV and 104 characters as JSON. TSV is worth choosing when the values themselves contain commas, because it swaps the delimiter rather than forcing you to quote half the file. CSV to JSON requires a header row. The first row is always consumed as the key names, so a file without headers loses its first record into the key set, and a file whose header row is itself data will produce nonsense keys. The parser honors doubled quotes inside quoted fields, so a value like Engineer, backend stays one cell when it is written as a quoted field with the comma inside the quotes.

Common Mistakes

Converting JSON to CSV and expecting numbers and booleans to come back as numbers and booleans on the return trip. Every value is written as text, so an account code such as 007 survives as the characters 007 rather than becoming the number 7, and true becomes the four-character word. Objects with different key sets are handled by taking the union of all keys in document order, which means a row missing a key gets an empty cell for that column rather than an error; spot-check the header row before trusting a wide export. Blank trailing lines are dropped silently, so a file that looks like it has four rows may convert to three objects. Finally, copying the JSON output and pasting it into a spreadsheet cell by cell defeats the point; paste the CSV output instead.

Where to Go Next

The JSON formatter is the faster stop when your JSON is malformed before conversion, and Converting CSV to JSON and back walks through the spreadsheet side of the same workflow.

Key features

  • Intelligent Parsing: Automatically handles complex CSV edge cases like commas inside capitalized quotes, escaped characters, and mixed line endings (CRLF/LF).
  • Header Awareness: Uses the first row as object keys when converting to JSON, ensuring your data mimics a real API response structure.
  • Spreadsheet Compatible: The CSV output is optimized for direct pasting into Microsoft Excel, Apple Numbers, or Google Sheets with proper cell formatting.

Frequently asked questions

Do I need a header row?

Yes, for the best CSV-to-JSON results, the first row should contain unique column names. These becoming the property keys in your JSON objects.

Can it handle large files?

Since it runs locally in your browser, it can handle files as large as your device memory allows—typically tens of thousands of rows without issue.

Is my data private?

Your CSV file and text are parsed in your browser and are not uploaded to JW Tool Box. The site separately collects usage information as described in the Privacy Policy.

Related guides

  • JSON vs. YAML vs. XML: The Ultimate Comparison for Developers (2026)

    Every developer faces the choice: How should I structure my configuration files? How should my API send data? In 2026, the "Big Three" data serialization formats—JSON, YAML, and XML—still dominate the landscape. But they are not interchangeable. Each has a specific superpower (and a specific kryptonite). Here is the definitive breakdown to help you choose the right tool for the job. 1. JSON (J…

  • Convert CSV to JSON (and Back) Free Online — No Excel Needed (2026)

    Switching between CSV spreadsheets and JSON API payloads is one of those daily developer tasks that sounds simple but constantly bites you: mismatched delimiters, quoted fields with commas, encoding issues. This guide covers how to convert CSV to JSON (and back) instantly in your browser—no Excel, no Python script, no uploads. ⚡ Quick Start → CSV to JSON Converter — paste your data, convert, c…

Browse the full tool directory