Markdown Table Generator
Paste CSV, TSV, or pipe-delimited data and get a properly aligned GitHub-flavored Markdown table.
| Name | Role | Joined | | :---- | :------- | :------ | | Alice | Engineer | 2024-01 | | Bob | Designer | 2023-08 | | Carol | PM | 2025-03 |
How to use
- Paste tabular data (one row per line).
- Pick the delimiter or leave it on Auto.
- Toggle 'first row is header' to taste.
- Choose alignment, then copy the Markdown.
About this tool
ShowHide
Drop in tabular data — copied from a spreadsheet as tab-separated, a CSV file, a pipe-separated log, or the semicolon-separated CSV common in Europe — and get a clean GitHub-flavoured Markdown table back. The delimiter is detected for you, the first row can be treated as a header or not, and the alignment row is written for left, centre or right. Columns are padded with spaces so the Markdown still reads as a table in your editor and in a plain diff, which is where most of the value is: renderers ignore the padding entirely. That padding counts characters, so a column of CJK text will look ragged in the source even though it renders perfectly. Everything runs locally in your browser — nothing is uploaded.
Frequently asked questions
How is the delimiter detected?
Auto-mode looks at the first non-empty line and counts tabs, commas, pipes, and semicolons — whichever appears most wins. If your data is mixed, pick the delimiter explicitly.
Does it handle quoted CSV cells?
Yes for comma-delimited input — quoted cells ("a, b") are parsed as one cell, and "" inside quotes becomes a literal quote. Tab/pipe/semicolon modes split naively.
What if rows have different column counts?
Missing cells are filled with empty strings so the table stays rectangular.
Can I align each column differently?
Not in this tool — the alignment applies to every column for simplicity. For per-column alignment, edit the separator row directly after copying.
Can a cell contain a line break?
No. The input is split on newlines before any parsing, so a quoted CSV cell that spans two lines becomes two rows — the first with an unterminated quote, the second short a column. Markdown tables have no cell-level line break either; the usual workaround is a literal <br> inside the cell, which you add after copying. Flatten multi-line cells to one line first if you can.
My table looks ragged in the editor even though it renders fine — why?
The padding counts characters, not display columns. CJK text and full-width punctuation take one character but two terminal columns, and an emoji counts as two characters while occupying two columns, so the source pipes will not line up. Only the pipes and the separator row matter to a Markdown renderer, so the rendered output is still correct — it is purely a source-readability effect.
Related tools
CSV Viewer & Sorter
View CSV / TSV data as a sortable, searchable table — open a file or paste rows, no spreadsheet required.
Text
Markdown Table to CSV Converter
Convert a GitHub-flavored Markdown table into CSV, TSV or semicolon-separated rows, in your browser.
Text
HTML Table to CSV Converter
Extract HTML <table> data into CSV, TSV or semicolon-separated rows, in your browser.
Convert
Excel (XLSX) to CSV, JSON & Markdown
Open an .xlsx workbook in the browser and export any sheet as CSV, JSON or a Markdown table — the file never leaves your device.
File
CSV → HTML / Markdown / JSON Table
Convert CSV to an HTML <table>, a Markdown table, or a JSON array of objects — auto-detects the delimiter.
Convert
Markdown → HTML Converter
Convert Markdown to clean HTML — copy the source for emails, CMS pages, or anywhere a rendered preview isn't enough.
Text
Markdown Table of Contents Generator
Generate a [text](#anchor) TOC from Markdown headings — bullet, numbered, or HTML output with GitHub/GitLab/simple slug styles.
Text