Convert, view, and clean TSV (Tab-Separated Values) in seconds.
A small collection of browser-based TSV tools — for the data that arrives out of psql, mysql --batch, Excel's "Save As → Text (Tab delimited)", or a bioinformatics pipeline. Everything runs in your browser, nothing uploaded.
- CSV ↔ TSV · TSV ↔ JSON
- HTML · Markdown
- TSV → SQL (Postgres / MySQL / SQLite / SQL Server)
- TSV → XLSX (Excel)
- Sample datasets — small + large TSVs, including a deliberately ragged one
Where TSV usually comes from
TSV (Tab-Separated Values) is the format you get when you ask a database for plain text:
psql -A -F$'\t', mysql --batch, sqlite3 -separator $'\t' all produce it by default.
Excel's Save As → Text (Tab delimited) writes the same thing. Bioinformatics formats
— .bed, .gff, NCBI annotation dumps, Ensembl exports — are TSV
under different extensions. Tabs win over commas in those settings because real-world data
contains commas; it almost never contains tabs.
Converting between formats
Going to or from CSV is the most common ask. The
TSV → CSV converter handles RFC 4180 quoting
so embedded commas and newlines survive the trip; the
CSV → TSV converter reverses it. For JSON, the
TSV → JSON converter defaults to strings (no
silent coercion of leading zeros or boolean-looking fields) with an opt-in toggle to coerce
numbers / booleans / nulls. The
TSV → SQL generator emits batched
INSERT statements for PostgreSQL, MySQL, SQLite, or SQL Server, with optional
CREATE TABLE. There's also
TSV → XLSX when someone wants the data in Excel
with formatting intact.
Looking at a TSV
Tabs aren't visible — so a TSV with one stray space-vs-tab swap looks fine in a text editor and breaks in every parser. The TSV viewer renders the file as a clean table so the shape is obvious at a glance, and the validator calls out ragged rows by line number. Stats gives you count / nulls / unique / min / max / mean per column — a quick sanity check before you ingest a file.
Cleaning and reshaping
Filter rows takes a small expression syntax
(column = "value", age > 30, name contains "smith",
combinable with AND / OR) and keeps only matching rows. The
merge tool stacks multiple TSVs by the union of
their headers, filling missing columns with empties — useful when files were exported on
different dates and the schema drifted.
What they have in common
Everything runs in your browser. The files you drop or paste never leave your machine — there is no server component handling data. No size cap beyond your browser's memory, no account required, nothing for me to leak. See the privacy policy for the longer version.
Sensible defaults, no hidden magic. Values stay as strings unless you explicitly ask otherwise. Tabs are tabs — no auto-detection guess that picks comma when the data looked CSV-ish. Quoting is parsed when present (RFC 4180 style) but not added on the way out unless the value contains a tab, newline, or quote.
Free, no warranty. Read the terms before relying on the output for anything load-bearing. Bug reports and feature requests are welcome — drop me a line.
— S., [email protected]