How to Use the JSON to TSV Converter
- Paste a JSON array of objects (or a single object) into the input panel.
- Click Convert to TSV — the header row is the union of all object keys.
- Copy the result and paste straight into Excel, Sheets or Numbers.
- Embedded tabs are replaced with spaces so columns stay aligned.
TSV — tab-separated values — is the format spreadsheets actually want when you paste tabular data. CSV needs careful quoting around commas and newlines, but TSV's only rule is "one record per line, columns separated by a tab", which makes it a much better target for the clipboard → Excel workflow. This converter takes a JSON array of objects and produces TSV with the header row as the union of every object's keys, in first-seen order.
How the JSON to TSV Converter Works
Embedded tab characters inside values are replaced with single spaces so the column count never breaks on paste — if you genuinely need to preserve tabs, JSON to CSV is the better tool. A top-level single object is wrapped to a one-row array automatically. Conversion is pure client-side, so the TSV string is safe even when your JSON contains tokens, secrets or PII.
- Header row is the union of every key (missing fields become empty)
- Embedded tabs are sanitised to spaces to protect column alignment
- Single-object input is treated as a one-row array
- Plain client-side text — no upload, safe with secrets or PII
Frequently Asked Questions
Why TSV instead of CSV when pasting into a spreadsheet?
Because most spreadsheets (Excel, Google Sheets, LibreOffice, Numbers) treat tabs as their default cell-delimiter when you paste. TSV avoids the quoting headaches of CSV — no need to wrap fields containing commas — and pastes into the right cells immediately.
What happens to a value that already contains a tab character?
It is replaced with a single space, so the column count stays correct on paste. If you need lossless tab preservation, switch to JSON to CSV — CSV can quote arbitrary characters, TSV by convention cannot.
What if my array has objects with different keys?
The header row is the union of every key seen, in first-appearance order. Missing fields produce empty cells, so heterogeneous arrays paste cleanly.
Does it handle nested objects?
Nested values are coerced to their default String() form (objects become [object Object]). For nested-friendly output, use the JSON to CSV page, which JSON-stringifies nested values into the cell.
Explore the full suite of DATA FORMATS tools and 290+ other free utilities at Chunky Munster.