Is the Markdown Table Generator free?
Yes. This tool is completely free to use, with no sign-up required.
Does it upload my data anywhere?
No. The table is generated locally in your browser, so your data never leaves your device.
Can I start from rows copied out of a sheet or CSV?
Yes. The generator accepts comma, pipe, and tab-separated input, so you can paste directly from a spreadsheet or CSV.
Does it support per-column alignment?
Yes. You can set left, center, or right alignment independently for each column in the generated table.
Will the table work on GitHub?
Yes. The output is GitHub-flavored Markdown, so it renders correctly on GitHub and most Markdown viewers.
My CSV is splitting in the wrong places. What happened?
The delimiter is auto-detected in a fixed order: tab first, then pipe, then comma. If any single line in your paste contains a pipe (a URL with a pipe in it, a cell containing a vertical bar), the whole input is treated as pipe-separated. Remove the stray pipe, or paste the data as tab-separated, which wins the detection.
How do I handle cells that contain commas?
Do not paste them as CSV. There is no quote handling, so "Smith, John" becomes two cells. Copy the range straight out of Google Sheets or Excel instead: the clipboard carries tab-separated values, and tabs take priority in the detector.
Why is my table capped at 8 columns?
The column control accepts 1 to 8. Markdown tables wider than that are effectively unreadable in a source file and usually mean the data belongs in a different format. If you need more, generate two tables or reconsider whether a table is the right presentation.
Does the alignment I choose actually do anything?
Yes, but in the render, not in the source. The alignment writes :--- , :---: , or ---: into the separator row, and the renderer applies it to the column. The padding in the source that makes the table look aligned in a text editor is cosmetic and is ignored entirely by Markdown parsers.
Is the pasted data uploaded?
No. Parsing, generation, and the rendered preview all run in the browser. Table data pasted from a spreadsheet is frequently customer or revenue data, so nothing is sent to a server.
What happens to rows that have more cells than my column count?
They are truncated to the column count, and shorter rows are padded with empty cells so the table stays rectangular. If you see a column of missing data at the right, your column count is set too low.