WebToolsPlanet
Converter Tools

TSV to JSON Converter

Paste tab-separated values and get a JSON array of objects — header row becomes the keys, and the type inferrer turns numeric strings into numbers and `true`/`false` into booleans.

Last updated: May 27, 2026

Client-Side Processing
Input Data Stays on Device
Instant Local Execution

Find this tool useful? Support the project to keep it free!

Buy me a coffee

What is TSV to JSON Converter?

TSV files (and clipboard data copied from spreadsheets) are a common interchange format because they're trivial to read line by line. But once the data needs to be processed in JavaScript, Python, or any modern API, JSON is the universal target. Manually converting a TSV with hundreds of rows is painful — every cell needs to be matched to the right key and coerced to the right type.

This tool reads TSV, treats the first line as a header (when enabled), and emits a JSON array of objects where each row becomes one object keyed by column name. Cells are coerced to the right JSON type: `"42"` becomes `42`, `"true"` becomes `true`, `""` becomes `null`. Disable type inference to keep everything as strings if you want a faithful, lossless representation.

How to Use TSV to JSON Converter

1

Paste TSV into the input panel.

2

Toggle "Has header row" if your data has column names on line 1.

3

Toggle "Infer types" to coerce strings to numbers / booleans / null.

4

Pick a pretty-print indent.

5

Copy the JSON output.

Common Use Cases

  • Converting clipboard data from Excel or Google Sheets to JSON.
  • Preparing TSV fixtures as JSON for a JavaScript test suite.
  • Producing API mock data from a spreadsheet export.
  • Importing TSV data into a JSON-based tool.

Example Input and Output

A small TSV table converts to a JSON array with numeric and boolean type inference.

TSV input
id	name	active
1	Alice	true
2	Bob	false
JSON output
[
  { "id": 1, "name": "Alice", "active": true },
  { "id": 2, "name": "Bob",   "active": false }
]

Privacy

All conversion happens in your browser. No TSV is sent to a server.

Number precision

Integers larger than 2^53 lose precision in JavaScript. For very large IDs, disable type inference to keep them as strings.

Frequently Asked Questions

When should I turn off type inference?
Disable it when you want lossless conversion — e.g. when a column contains leading-zero strings ("007") that should stay strings, not become 7.
What if my TSV has no header?
Turn off "Has header row". The tool generates column names col1, col2, col3, ... in order. Adjust them manually in the JSON afterwards.
How are empty cells represented?
When type inference is on, empty cells become JSON null. When off, they remain empty strings. Use the toggle to pick whichever your downstream tool expects.
Does this send my TSV anywhere?
No. All conversion happens locally in your browser.