What this tool does
Markdown is fantastic for headings, lists, and inline formatting. Tables, though, are a hassle — the pipe-and-dash syntax is hard to write by hand, and getting the column alignment right takes patience that nobody has when they're trying to ship a doc.
This tool takes CSV, TSV, or pasted spreadsheet data and produces a clean, properly-aligned Markdown table. Paste your data, pick the alignment, and copy the result. It works for tables of any reasonable size and handles quoted fields, embedded commas, and mixed-row-length input.
Input formats
CSV (comma-separated values)
The default. Each line is a row. Commas separate columns. Quoted fields can contain commas: "Smith, John",Engineer is two columns. Quotes within quotes are escaped by doubling — for instance, a cell containing the phrase He said "hi" would be written as a quoted field with each inner double-quote doubled.
TSV (tab-separated values)
Tabs instead of commas. This is what you get when you copy a column from a spreadsheet — Excel, Google Sheets, Numbers all use tabs as the inter-column separator on copy. Choose "Tab" from the dropdown or let auto-detect handle it.
Semicolon and pipe
Some European CSV conventions use semicolons (because comma is the decimal separator in many locales). Pipe-separated input is common in log files. Both are supported.
Auto-detect
The default. The tool examines the first non-empty line and picks whichever delimiter appears most often. Works well for most input. Override the auto-detection by picking explicitly from the dropdown if needed.
Alignment options
Markdown tables support three column alignments, controlled by the position of colons in the separator row:
- Left-aligned (default):
|:----| - Centered:
|:----:| - Right-aligned:
|----:|
This tool applies the same alignment to every column. Mixed-alignment tables (some columns left, some right) require manual editing of the output — though most readers don't notice the difference, so a single alignment is usually fine.
Header rows
By default, the first row of input is treated as a header. If your data doesn't have a header row, uncheck "First row is header" and the tool generates synthetic column names ("Column 1", "Column 2", etc.).
Markdown tables require a header row — the separator below the header is what distinguishes a table from regular text. There's no headerless Markdown table.
Column padding
By default, columns are padded with spaces so the raw Markdown source is visually aligned:
| name | role | city |
|:------|:---------|:--------|
| Anna | Designer | Tokyo |
| Ben | Engineer | Berlin |
The rendered HTML looks identical whether or not you pad — padding is purely for the source readability. Uncheck "Pad columns for readability" for compact output if you're space-constrained or generating a lot of tables programmatically.
Escaped pipes
If your data contains pipe characters (|), they're automatically escaped to \| in the output. This prevents the pipe from being interpreted as a column separator in Markdown renderers. The escape is invisible in the rendered table.
Common use cases
- GitHub issues and pull requests — convert spreadsheet snippets to tables for context
- README files — comparison tables, feature matrices, dependency lists
- Technical documentation — API reference tables, configuration matrices
- Reddit posts — Reddit supports Markdown tables in self-posts
- Notion, Obsidian, and other Markdown editors — generate tables outside the editor and paste them in
- Blog posts — most static site generators (Hugo, Jekyll, 11ty, Astro) parse Markdown tables natively
What this doesn't do
This tool produces standard GitHub-flavored Markdown tables. Some Markdown dialects support extended table features (cell spanning, line breaks within cells, complex alignment per-cell) that aren't part of the standard. Those aren't generated here.
For HTML output, this isn't the right tool — use a dedicated HTML table generator or a CSV-to-HTML converter.
Frequently asked questions
How can I convert a raw CSV file into a clean Markdown table?
Paste the CSV into the input. The tool detects the delimiter, builds a properly aligned table with pipes and header-separator dashes, and lets you configure alignment and header-row bolding before copying.
Does this tool convert TSV to Markdown too?
Yes — tab-separated data works the same way as CSV. Paste it in and get the same aligned Markdown table output.
Privacy
Everything runs in your browser. Data you paste never leaves your machine.