Advertisement

TSV to MD Table

Convert TSV to MD Table free, in seconds. Paste your data below, press Convert, then copy the result and paste it into READMEs, wikis and docs. Everything runs in your browser, so nothing is ever uploaded.

TSV input

Paste your TSV below, then press Convert.

The first line is treated as the header row. Tabs separate the fields.

MD Table output

Waiting for TSV input.

Private by design: parsing uses the PapaParse library (loaded once from a CDN); the conversion itself happens locally and your data is never uploaded.
Advertisement

How this conversion works

Paste TSV into the input box and press Convert (or just keep typing, conversion happens as you type). The tool parses it with the PapaParse library using a tab delimiter, using the first row as column headers, then renders it as a Markdown table with an aligned header separator, escaping pipes inside cells. Parsing uses the PapaParse library (loaded once from a CDN); the conversion itself happens locally and your data is never uploaded.

Markdown table notes

The output follows the GitHub-flavored Markdown table syntax: a header row, a separator row of dashes, then one row per record. Pipe characters inside cells are escaped with a backslash so they never split the table into extra columns, and line breaks inside cells become <br> tags, which Markdown renderers display as line breaks within the cell.

TSV to MD Table FAQs

Why convert TSV to a Markdown table?
Markdown tables render natively on GitHub, GitLab, wikis, Notion and most documentation platforms. Converting to a Markdown table is the fastest way to put structured data into a README, a report or a pull request description.
How is my TSV parsed?
With the PapaParse library using a tab delimiter: the first line becomes the column headers, quoted fields are respected, and empty lines are skipped.
What if my cells contain pipe characters?
Pipes are escaped with a backslash, so a value like "a | b" cannot split the table into extra columns. The rendered table shows the pipe as a normal character.
How are line breaks inside cells handled?
They are converted to <br> tags, which Markdown renderers display as line breaks inside the cell, keeping each record on one table row.
Is my data sent to a server?
No. parsing uses the PapaParse library (loaded once from a CDN); the conversion itself happens locally and your data is never uploaded.
Advertisement