tsvsheet logo tsvsheet

Recipes

The sheet is plain text, so everything that already speaks text speaks tsvsheet. Verified walkthroughs for piping sheets through databases, desktop and web spreadsheets, and charting tools — in both directions.

Databases

A rendered sheet is a table. Import it, query it, join it — and turn query results back into living sheets.

SQLitesqlite3 imports tab-separated values natively, so a rendered sheet is one pipe away from being a queryable table — and a query result is one formula row away from being a sheet again.
DuckDBDuckDB queries tab-separated files in place — no schema, no import step. A rendered sheet is a table the moment the pipe connects, with column types sniffed for free.
PostgreSQLPostgreSQL's COPY text format is tab-separated — a rendered sheet is already a valid COPY stream, and a COPY out is already a sheet. The two formats were made for each other; they just didn't know it.

Desktop & web spreadsheets

TSV is the lingua franca of spreadsheet clipboards and exports — tsvsheet speaks it natively, in both directions.

ExcelThe clipboard interchange format between spreadsheet apps is tab-separated values. Copy a range in Excel and TSV is what's on your clipboard — one paste away from being a .tsvt.
Google SheetsGoogle Sheets exports any tab as TSV over a plain URL, and tsvsheet's import functions drink it directly — while Sheets' IMPORTDATA pulls rendered tsvsheet output the other way. Two spreadsheets, one wire format, both directions live.

Charts

Computed output is plain TSV: chart it in the terminal, in the browser, or in the grid itself.

ChartsComputed output is plain TSV — the input format charting tools have eaten for decades. Plot a sheet in the terminal, render it to SVG, load it in the browser, or draw the chart inside the grid itself.

Markup & docs

A computed sheet freezes into a portable Markdown table — commit it to a README, a wiki, or a docs site and it renders anywhere, no engine attached.

MarkdownA computed sheet freezes into a GitHub-flavored Markdown table — one command, and results that render in any README, wiki, or docs site with no engine attached.

Every command on these pages ran for real before it was published — against the sheets in tsvsheet.examples, which each carry a Try link into the playground. Looking for the language itself? Start with the function reference or the specification.