Convert tab-separated values, such as a paste from Excel, into JSON
Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.Copy cells from Excel or Google Sheets and paste them here: spreadsheets put a tab between columns, which makes the clipboard a TSV file. This page reads tabs as the separator from the start, uses the first row as column names, and turns numbers and true or false into real JSON values while leaving codes such as 007 as text.
The page opens with Tab as the Separator, so the direction chip reads "TSV to JSON".
Copy cells from Excel or Google Sheets and paste them into the TSV pane.
Keep Header row on to use the first row as keys, and Detect types on to turn numbers and true or false into JSON values.
Check the Table preview, then click Copy JSON or the download icon.
This CSV to JSON converter reads comma, semicolon, tab or pipe separated data and turns it into a JSON array as you type, with a table preview so you can check the columns before you copy. Switch direction to turn a JSON array into CSV for a spreadsheet.
People use it to feed a spreadsheet export into an API, to seed a test database, or to turn a report from a bank or a payroll system into something a script can read. The reverse is common too: an API returns JSON and a colleague wants it in Excel.
The separator is detected from the data, and you can override it. The first row is used as column names unless you switch that off. Quoted fields, doubled quotes and line breaks inside quotes are handled as the CSV standard describes. Type inference turns 42, true and empty cells into a number, a boolean and null, but keeps values like 007 or a 19-digit account number as text so nothing is silently changed. When going to CSV, nested objects become dot-named columns and you are told which.
The rest of the article, and all 6 questions about CSV to JSON, are on the CSV to JSON page.
Paste the CSV or open a .csv file. The JSON appears as you type, with a table preview underneath. Choose array of objects or array of arrays, then press Copy or Download.
Values with leading zeros, such as 007 or a PIN code starting with 0, and integers too long for JSON to hold exactly, like account numbers, stay as strings. Converting them to numbers would change them. Turn type inference off to keep every value as text.
Yes. The separator is detected automatically from comma, semicolon, tab and pipe by testing which one splits the first rows evenly, and the one chosen is shown above the output. European exports that use a semicolon need no setting at all. Pick the separator yourself if detection guesses wrong.
Files up to 20 MB convert comfortably, which is the limit this page accepts. The table preview shows the first 100 rows so the page stays responsive, while the JSON or CSV you copy or download always contains every row of the file. Split anything larger before converting.
Still stuck? Ask about CSV to JSON and anybody who knows can answer. No account needed.
Same job, other tools: Column Letter to Number – Find the column number of any Excel column letter, such as AB = 28 · Number to Column Letter – Turn a column number into its Excel letters, such as 28 = AB · JSON to Pydantic Model – Paste an API response and get Pydantic v2 BaseModel classes with field aliases · JSON to YAML – Turn JSON into clean, readable YAML for configs · Query String Parser – Split a URL query string into a table of decoded parameters.
On the related tools: Docker Compose Generator – Generate a docker-compose file from the docker run commands you already use.
In the collection JSON Tools.