← Paste to Table

CSV vs TSV vs JSON: a plain-English guide

These three formats all do the same basic job — store structured data as plain text — but they fail in different situations, and picking the wrong one is why your import "mysteriously" breaks.

CSV (comma-separated values)

The default for spreadsheets. Fields are separated by commas, rows by line breaks. Its one real weakness: your data probably contains commas too (addresses, numbers, descriptions), so values with commas have to be wrapped in quotes — and values with quotes inside them have to escape those quotes. Most tools handle this correctly; some don't, and that's when a CSV "looks fine" in a text editor but imports with shifted columns.

Use it for: importing into Excel, Google Sheets, or any database's bulk-import tool. It's the most universally supported format there is.

TSV (tab-separated values)

Same idea as CSV, but fields are separated by tab characters instead of commas. Since actual tab characters almost never appear inside normal data, TSV sidesteps the whole quoting problem — which makes it more robust for messy, real-world text. It's also what your clipboard contains when you copy cells out of Excel or Google Sheets, which is why pasting a TSV-formatted block straight into a spreadsheet "just works" without any import dialog.

Use it for: copy-pasting between spreadsheets, or any pipeline where your data might contain commas but is unlikely to contain tabs.

JSON (JavaScript Object Notation)

Not row-and-column at all — it's nested key-value data, which is what almost every API and web application actually uses internally. A JSON "table" is really an array of objects, one object per row, each with named fields. This is more verbose than CSV but far less ambiguous, and it naturally handles data that CSV struggles with: nested structures, missing fields, and values that are themselves lists.

Use it for: feeding data into code, APIs, or JavaScript — not for opening in Excel directly (though Excel can import it with a bit of setup).

Quick comparison

FormatBest forMain weakness
CSVSpreadsheets, databasesQuoting commas/quotes correctly
TSVCopy-paste into spreadsheetsBreaks if data contains real tabs
JSONCode, APIsNot directly spreadsheet-friendly
Converting between them: paste any messy text into Paste to Table, let it detect the structure, then export to whichever of the three you actually need.