CSV to Markdown table converter
Paste CSV data and get a GitHub-flavoured Markdown table, with the first row used as the header.
Loading the tool…
Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.
How to use it
- Enter csv data, cell delimiter, column alignment, pad columns to equal width and trim spaces around each cell.
- The result appears straight away and updates as you edit.
- Copy the result, or copy a link that keeps the same values to share it.
How it is calculated
Cells are read with CSV rules (RFC 4180), each row is written between | marks, and a --- separator row with : for alignment follows the header. A | inside a cell becomes \| and a line break becomes <br>.
Example
Inputs: Cell delimiter = Detect automatically, Column alignment = Default, Pad columns to equal width = yes, Trim spaces around each cell = yes. Result: Markdown table: | product | price | qty | | ------- | ----- | --- | | Tea | 12.5 | 3 | | Coffee | 18 | 2 | | Dates | 30 | 1 |; Rows: 4; Columns: 3.
product,price,qty Tea,12.5,3 Coffee,18,2 Dates,30,1
| product | price | qty | | ------- | ----- | --- | | Tea | 12.5 | 3 | | Coffee | 18 | 2 | | Dates | 30 | 1 |
Limits and caveats
- A Markdown table always needs a header row, so the first row becomes the header, and merged cells are not supported.
- Padding can look uneven with Arabic text or emoji because character widths differ between fonts.
Questions about this tool
Will the table render on GitHub?
Yes. The output is GitHub Flavored Markdown and renders as a table in README files, comments and pull requests.
What if a cell contains a | character?
It is written as \| so it does not split the cell, and renderers show it as a plain |.
Does alignment change the cell text?
No. Alignment is set only in the separator row with : marks.
