Tab-Separated Values

TSV

Tab-Separated Values is CSV with a better delimiter. The format is otherwise identical, and the change removes most of the quoting problems that make CSV fragile.

Type information
None — every value is text
Structure
Flat rows and columns
Compression
None
Typical file size
Same as CSV
Schema
Header row at best
Human-readable
Yes, in any text editor
Tool support
Universal

TSVCSV

Runs on your device
Options

Reading TSV

Writing CSV

Work with Parquet as well?See ParquetReader with ParquetReader — opens Parquet files directly.

The argument for tabs is simple: commas appear inside real data constantly — in addresses, in names, in free text — while tabs almost never do. A delimiter that does not collide with your values needs far less quoting, and less quoting means fewer chances for a naive reader to get it wrong.

This is why TSV persists in places where correctness matters more than familiarity: database bulk loaders, bioinformatics pipelines, and command line tools like cut and awk that are tab-aware by default. The tradeoff is that dialects disagree — strict TSV forbids tabs and newlines inside values outright, while other tools quote them the way CSV does. Check a sample when loading into anything strict.

Visually, tabs render at whatever the tab stop happens to be, so columns rarely line up in an editor. That is a display artefact and not a sign the file is malformed.

What TSV is good at

  • Tabs rarely occur inside real values, so quoting is seldom needed.
  • Native to database bulk load commands and Unix text tools.
  • Otherwise identical to CSV, so it is just as simple and just as streamable.

Where it falls short

  • Same as CSV: no types, no schema, no compression.
  • Dialects disagree on whether quoting or backslash escapes are correct.
  • Columns look misaligned in editors because tab width varies.
  • Less immediately familiar than CSV to non-technical recipients.
Converters

Convert TSV files

From TSV

To TSV

FAQ

TSV questions

Is TSV better than CSV?
For machine-to-machine transfer, usually yes, because the delimiter does not collide with the data. For sending a file to someone who will open it in Excel, CSV is the more familiar choice.
What happens to values containing a tab?
They are quoted so the row structure survives. Confirm your destination accepts quoting if it is a strict TSV reader.
Should I use .tsv or .tab?
Both appear in the wild and both are read here. .tsv is the clearer and more common choice.

Other format guides: CSV · Parquet · JSON · JSONL · Excel