TSV to JSON Converter
Convert tab-separated values — including cells pasted straight from Excel or Google Sheets — into clean JSON, NDJSON or raw row arrays.
Drag & drop a .tsv or .txt file here, or click to browse
No uploads. Your files stay on your device.
How it works
Paste tab-separated values — straight from Excel, Google Sheets, a database export or a
.tsv file — and the JSON appears instantly as you type. The first row becomes the
object keys, so every following row turns into one JSON object; duplicate or blank column
names are made unique automatically. Quoted fields are supported too, so a cell containing a
tab or a line break survives the round trip instead of splitting the row in the wrong place.
With “Convert numbers & booleans” on, 42 becomes a number and
true becomes a boolean, while values like 007 keep their leading
zero so ZIP codes, product codes and phone numbers stay strings. Switch the output shape to an
array of arrays for raw rows or to NDJSON for one object per line (the format BigQuery,
Elasticsearch and many log pipelines expect), decide what empty cells should become, and
optionally nest dotted headers such as user.name into real nested objects.
Everything runs locally in your browser with JavaScript — your data is never uploaded, stored or logged, and the page keeps working offline once loaded. Use Copy JSON or Download to take the result with you.
Frequently asked questions
How do I convert a TSV file to JSON?
Paste your tab-separated data into the box or drop a .tsv/.txt file on the page — the JSON appears instantly, no button needed. The first row becomes the object keys, so every row below it turns into one JSON object, and you can switch to an array of arrays for raw rows or to NDJSON for one object per line. Then use Copy JSON or Download to save the result.
Can I paste cells straight from Excel or Google Sheets?
Yes — that is the fastest way to use it. When you copy a block of cells, spreadsheets put tab-separated text on the clipboard, so pasting it here converts your selection directly. Cells containing tabs or line breaks are quoted by the spreadsheet and the parser handles those quotes correctly instead of splitting the row in the wrong place.
Is my data uploaded to a server?
No. The whole conversion runs locally in your browser with JavaScript — your data is never uploaded, stored or logged, and the page keeps working offline once loaded. That makes it safe for spreadsheet exports containing customer records, salaries or anything else confidential.