Skip to content
Tooletto

TSV to JSON

A preset of CSV to JSON

Convert tab-separated values to JSON. TSV is what you get when you copy a range directly out of Excel or Google Sheets and paste it — no export step needed, and no ambiguity about commas inside values.

  • Files never leave your device
  • Free, no signup
  • No watermarks
  • Works offline once loaded
Loading tool…

How to csv to json

  1. 1

    Paste your CSV

    Paste directly from a spreadsheet, or type it in.

  2. 2

    Set the options

    Choose a delimiter, whether the first row is a header, and whether to infer types.

  3. 3

    Copy the JSON

    Copy the result or download it as a .json file.

Why a direct paste from a spreadsheet is tab-separated, not comma-separated

Selecting a range of cells in Excel or Google Sheets and copying it puts tab-separated data on the clipboard by default, not comma-separated — this is a deliberate and useful design choice, because it means a comma appearing inside an actual cell value is never confused with a column separator in the first place. There is no quoting or escaping needed for the vast majority of ordinary text, since the delimiter character (a tab) essentially never appears naturally inside typed spreadsheet content the way a comma routinely does.

This is exactly why pasting directly from a spreadsheet, without an explicit "export as CSV" step, produces TSV rather than CSV — recognising and correctly parsing that tab delimiter is what lets this variant accept a clipboard paste from Sheets or Excel with no intermediate export required.

What still needs quote-awareness even without comma ambiguity

Removing the comma-ambiguity problem does not remove every edge case: a copied cell can still contain an internal line break — a multi-line note or address typed into one cell — and a spreadsheet application will still wrap that field in quotes when copying it, exactly as it would for CSV. A parser that only handles the tab-splitting half of TSV correctly, without also respecting quoting for embedded newlines, still corrupts those specific rows even though it never has to worry about commas.

Frequently asked questions

Does it handle commas inside quoted fields?

Yes. The parser follows RFC 4180 properly: quoted fields may contain commas, line breaks and escaped quotes (written as ""). Tools that split on commas corrupt exactly this kind of data, usually without any error.

What does type inference do to leading zeros?

It leaves them alone. `007`, `+44` and values beyond JavaScript's safe integer range stay strings, because they are almost always IDs, phone numbers or postcodes — converting them to numbers would silently destroy data. Only unambiguous numbers, booleans and nulls are converted.

What happens to duplicate column names?

They are made unique — a second `name` column becomes `name_2` — because two identical keys in a JSON object would silently overwrite each other. Blank headers become `column_1`, `column_2` and so on.

Can I convert an Excel file directly?

Not yet — save or export it as CSV first (File → Save As → CSV in Excel and Google Sheets). Note that European Excel installs often use a semicolon delimiter; switch the delimiter option if your columns come out merged.

Is my data uploaded?

No. Parsing runs entirely in your browser, which matters because CSV exports usually contain exactly the customer, financial or employee data you should not paste into someone else's server.