jsonlkit.com
JSONL (JSON Lines) utilities, in the browser
Say hi →

JSONL ↔ TSV Converter

updated 11 May 2026

100% client-side. No upload.

Convert

Drop a .jsonl, .ndjson, or .tsv file here, or

JSONL ↔ TSV Converter

Convert JSONL to tab-separated values and back. TSV is the format BigQuery, Snowflake, Redshift, and most shell pipelines prefer over CSV — no quoting headaches, no embedded-comma issues, just tabs. Nested keys are flattened with dot notation (user.email, meta.tags.0). 100% in-browser.

Why TSV over CSV?

Tabs almost never appear inside data, so TSV files don't need the quoting / double-quote escaping that makes CSV so error-prone. Most big-data tools (BigQuery's LOAD DATA, Snowflake's COPY INTO, cut -f / awk -F$'\t' on the command line) read TSV more reliably and faster than CSV. When your records contain free-text fields with commas, quotes, and newlines, TSV is the pragmatic choice.

How it handles nesting

Nested objects are flattened with dot notation: {"user":{"email":"x"}} becomes the column user.email. Arrays are flattened by index: {"tags":["a","b"]} becomes tags.0, tags.1. Tabs and newlines inside values are escaped as \t and \n so the file stays one-record-per-line.

Tips & common pitfalls

Example

Input JSONL:

{"id":1,"user":{"name":"alice","age":30},"tags":["admin","ops"]}
{"id":2,"user":{"name":"bob","age":25},"tags":["dev"]}

Output TSV (tabs shown as ):

id→user.name→user.age→tags.0→tags.1
1→alice→30→admin→ops
2→bob→25→dev→

Related tools