1001Ferramentas
📘 Converters

TSV → Markdown Table

Convert TSV (tab-separated) to a GFM Markdown table with configurable alignment (left, center, right).

Markdown:

Paste a spreadsheet, get a Markdown table

When you select cells in Excel, Google Sheets or LibreOffice and copy, what lands on the clipboard is tab-separated text. That is why pasting it straight into a README gives you an unaligned mess: Markdown does not read a tab as a column boundary, it expects pipes and a separator line under the header.

Paste what you copied from the spreadsheet and the page builds the table in the format GitHub, GitLab and most renderers expect. The first row becomes the header, the separator line is generated for you, and you choose the column alignment — left, centre or right — which in Markdown is set by where the colons sit on that line of dashes.

Two practical notes. The alignment you pick applies to every column at once; to mix alignments, edit the separator line by hand afterwards. And empty trailing cells in a spreadsheet row are sometimes not copied at all: rows shorter than the header are padded with empty cells, so the table comes out rectangular in any renderer.

Frequently asked questions

Do the pipes have to line up for the table to work?
No. Markdown does not care about spacing between pipes — the table renders identically with the source columns ragged. Aligning them only helps whoever edits the file, and several Markdown formatters do it automatically.
How do I put a line break inside a cell?
With an HTML br tag. A Markdown table is always one line per record; pressing Enter inside a cell ends the table row. In the most common renderers, GitHub included, a br tag inside a cell works.
What happens if a cell contains a pipe character?
The page escapes the pipe automatically, because otherwise it would be read as a column divider and break the whole row. That is the typical case with a table of boolean expressions or shell commands, where the character turns up inside the data.

Related Tools