belun.app Blog

Markdown Table Generator — Build GFM Tables Visually

Markdown output

 
Import an existing table, CSV, or spreadsheet paste

Type your data into a spreadsheet-style grid and get GitHub-flavored Markdown out. Add or remove rows and columns as you go, set each column to left, center, or right alignment, and copy the result straight into a README, a pull request, or your docs. You can also paste an existing Markdown table, CSV, or a block copied from Excel and edit it here.

How it works

  1. 1
    Fill in the grid The first row is the header. Click any cell and type — the Markdown output below updates as you go. Use Add row and Add column to grow the table, or the × buttons to drop one.
  2. 2
    Set column alignment Each column has a small selector above it. Choose Left, Center, or Right and the delimiter row picks up the matching colons (:---, :---:, ---:). Default leaves the column unaligned.
  3. 3
    Copy the Markdown Hit Copy Markdown and paste it into GitHub, GitLab, Obsidian, Notion, or any editor that reads GFM. Turn off padding if you prefer compact source over aligned columns.

Your data stays private

All processing happens entirely in your browser. No files, text, or data are ever sent to our servers. You can disconnect from the internet and this tool will still work.

Frequently asked questions

What Markdown flavor does this produce?
GitHub Flavored Markdown (GFM) pipe tables, the same syntax GitHub, GitLab, Bitbucket, Obsidian, Docusaurus, and most static site generators understand. Alignment is expressed with colons in the delimiter row.
Can I paste a table from Excel or Google Sheets?
Yes. Copy the cells, paste them into the import box, and click Load. Spreadsheet copies arrive as tab-separated text, which the importer detects automatically. CSV works too, including quoted fields with commas inside.
How do I put a pipe character inside a cell?
Leave the escape pipes option on and the tool writes it as a backslash-escaped pipe, which renders as a normal | instead of splitting the cell. Turn the option off only if you are pasting into a renderer that handles escaping itself.
Does a Markdown table support multiple lines in one cell?
Not natively — a table row must stay on one line. If you type a line break into a cell, the tool converts it to a <br> tag, which is the standard workaround and renders correctly on GitHub.
Why does my table look misaligned in the source but fine when rendered?
Renderers ignore whitespace inside cells entirely, so the source does not have to line up. Padding is purely for humans reading the raw file. Toggle it off and the output gets shorter without changing how it renders.
Is my data uploaded anywhere?
No. The whole tool runs as JavaScript in your browser. Nothing you type is sent to a server, logged, or stored — you can disconnect from the network and it still works.

From the blog

Markdown Tables: Alignment, Escaping, and the Rules That Actually Matter How GFM pipe tables really work — the delimiter row, colon alignment, escaping pipes, and the limits worth knowing. Read the post →

Related tools