MakeMyStats
Blog
← All tools

CSV to Markdown Table

Drop a CSV or paste rows, choose which columns to include, set per-column alignment, and get a GitHub-flavored Markdown table you can paste into READMEs, issues, docs, or chat. Everything runs in your browser.

Drop a CSV or TSV file here, or click to select.

CSV, TSV · Max 2 GB

How to use CSV to Markdown Table

  1. 1

    Bring in your CSV

    Drop a .csv or .tsv file onto the dropzone, or switch to the Paste tab and paste rows directly. PapaParse reads the data in your browser — nothing is uploaded.

  2. 2

    Pick the columns to include

    Tick or untick any column to drop it from the table. The first row of your CSV is treated as the header — its labels become the Markdown header row.

  3. 3

    Set per-column alignment

    Choose Default, Left, Center, or Right for each column. The choice writes the corresponding alignment marker (:---, :---:, ---:) into the divider row, which GitHub, GitLab, and most static site generators honor.

  4. 4

    Tune the output

    Toggle pretty-print to pad cells with spaces (so the raw Markdown stays readable in a code editor), enable pipe-escaping if your data contains the | character, and optionally cap the row count for a quick preview.

  5. 5

    Copy or download

    Use Copy on the Markdown source pane to send the table to your clipboard, or Download .md to save it as a file. The rendered preview on the right matches what GitHub will show.

Frequently asked questions

Does this tool upload my CSV?
No. Every parse, transform, and download runs entirely in your browser using JavaScript and Web Workers. The file never leaves your device — there is no upload endpoint and no server-side processing.
Which Markdown flavor does it produce?
GitHub-Flavored Markdown (GFM) tables — the syntax used by GitHub, GitLab, Bitbucket, Obsidian, MkDocs Material, Docusaurus, Hugo, Jekyll with kramdown, and most other modern parsers. Strict CommonMark does not include tables, so the output won't render in old plain-Markdown processors.
What happens to commas, pipes, and newlines inside cells?
Commas are fine — Markdown only cares about pipes (|) and newlines. Pipes are escaped as \| when the toggle is on (recommended). Embedded newlines are replaced with <br> tags, which all GFM-compatible renderers turn into a real line break inside the cell.
Why is pretty-print off-by-default not always the right call?
Pretty-printed tables (padded with spaces) are easier to edit in a code editor but produce slightly larger files and can look strange if a single cell is much longer than the rest. Compact mode (pretty off) drops the padding and is what tools like GitHub's web editor produce by default. Both render identically in the browser.
Can I convert a CSV that has no header row?
The Markdown table format requires a header. If your CSV has no headers, add a placeholder first row (col1,col2,col3) before pasting, or use CSV Filter & Transform to add one. Without a header line PapaParse cannot tell the columns apart and the converter will error.