TSV to JSON
Paste tab-separated text — from a spreadsheet, a database export, or a log — and get a JSON array of objects. Numbers, booleans and nulls are recognised automatically, and dotted headers like user.name can be rebuilt into nested objects.
How to convert TSV to JSON
- Paste your tab-separated text. Copying a range out of Excel or Google Sheets already puts TSV on the clipboard.
- Leave Value types on auto-detect to get real numbers and booleans, or switch to strings if you need every field verbatim.
- Tick No header row if the first line is data — columns are then named
col1,col2and so on. - Tick Rebuild nested objects when your headers use dots (
address.city) or indexes (tags[0]). - Copy the JSON, or download it as
.json.
Type inference rules
true/false(any case) become booleans.nulland\Nbecomenull.- Anything matching a JSON number becomes a number — but a value with leading zeros (
007) or a plus sign stays a string, which keeps zip codes and phone numbers intact. - Everything else stays a string, whitespace included.
Switch to Everything as strings when the data is identifiers rather than quantities. Turning an account number into a float is the classic way to lose its leading zeros forever.
Privacy
Nothing is uploaded. The conversion runs in this tab using your own browser's JavaScript engine — no server sees your data, and the page keeps working with the network disconnected.
FAQ
My fields contain tabs. Now what?
Real TSV cannot represent a literal tab inside a field. If the producer escaped them as \t, tick Un-escape. If it did not, the data is ambiguous and no parser can recover it — re-export as CSV or JSON.
Does it handle quoted fields?
TSV has no quoting convention, so quotes are treated as ordinary characters. If your input is really quoted CSV that happens to use tabs, use CSV → JSON and set the delimiter there.
What about a trailing newline?
A single trailing newline is ignored. Blank lines in the middle are skipped rather than becoming empty records.