PK Systems PK Systems
Developer tools

Markdown Table Generator

Edit a spreadsheet-style grid and get clean Markdown, HTML or AsciiDoc tables. Paste straight from Excel — we'll detect the cells.

Markdown Table Generator

Click any cell to edit. Paste rows from Excel or Google Sheets directly into the grid — tabs and newlines are detected automatically.

Output


    

Why a dedicated table generator?

Tables are the part of Markdown that everyone copies wrong. Pipes do not need to line up to render correctly, but they need to line up to be readable in source form — and once you have more than three rows, hand-typing those pipes turns into a chore. This generator gives you a real grid: click a cell, type, tab to the next one, and the underlying Markdown updates in real time. If you already have data in Excel, Numbers or Google Sheets, paste it into any cell and the rows and columns expand automatically; behind the scenes we detect tab characters as column breaks and newlines as row breaks. The output panel shows three flavors. GFM Markdown is what you want for GitHub README files, GitLab issues, most static site generators (Jekyll, Hugo, Astro), Notion, Obsidian and Discord. HTML is the right choice when you need precise styling or when the destination renderer does not understand Markdown tables. AsciiDoc is the canonical format for many open-source manuals and Antora-based docs sites.

How to use the editor

Adjust the grid size, type or paste your data, set per-column alignment, copy the rendered output.

  1. Set rows and columns — Use the + and buttons to grow or shrink the grid. The output regenerates immediately. Pasting from a spreadsheet auto-grows the grid if needed.
  2. Paste from Excel or Sheets — Copy a block of cells in your spreadsheet, click any cell in the grid, and paste. Tab-separated values become columns; newlines become rows.
  3. Pick column alignment — Above each column you have three small alignment buttons. Numeric columns usually look cleaner right-aligned; status columns look good centered.
  4. Copy the output — Click Copy to grab the table in your chosen format. Switch between GFM, HTML and AsciiDoc with the chips up top — the data stays the same.

Markdown table syntax in one paragraph

A GFM table is three or more lines: a header row of pipe-separated cells (| a | b |), a separator row of dashes that tells the renderer where the columns are (|---|---|), and one or more body rows. Alignment is encoded by adding a colon to the separator: :--- for left, :---: for centered, ---: for right. The pipes at the start and end of a row are optional in the GFM spec but recommended for readability. To put a literal pipe inside a cell, escape it as \|. To put a line break inside a cell, use the HTML <br> tag — raw newlines are not allowed.

When to use which format

All three are widely supported, but each one has a sweet spot.

Format Best for
GFM MarkdownGitHub / GitLab READMEs, issues and comments, static site generators, Notion, Obsidian, Discord, Slack rich-text mode.
HTMLPages that need exact CSS styling, blog posts where the renderer does not support GFM, emails, and content management systems.
AsciiDocAntora and AsciiDoctor documentation sites, technical books, OpenJDK-style project docs.

Frequently asked questions

How do I add a line break inside a cell?

Markdown tables do not allow raw newlines inside cells. Use the literal HTML <br> tag where you would have hit Enter. Most GFM renderers (GitHub, GitLab, MkDocs, Hugo) honor it.

Why are my pipe characters breaking the table?

A pipe inside a cell needs to be escaped as \| so the renderer does not treat it as a column boundary. The generator does that automatically when you type a pipe in the editor.

Can I import an existing Markdown table?

Not directly — the editor expects spreadsheet-style data. Easiest workaround: paste the existing table into Google Sheets or Excel, copy it back, and paste into a cell here. The grid will auto-grow to fit.

Why does GFM look great on GitHub but ugly somewhere else?

Not every Markdown renderer supports the GFM tables extension. CommonMark by itself does not include tables — that is why the format is called GitHub Flavored Markdown. If your renderer rejects the table, switch to the HTML output.

Is the data sent anywhere?

No. The whole tool runs in your browser. Open DevTools → Network and you will see no requests fire when you edit, paste or copy.

Can I use this for very wide tables?

The grid supports up to 20 columns and 50 rows, which is well past what is comfortable to render in Markdown. For larger datasets, consider keeping them as CSV or HTML — readers tend to scroll past wide Markdown tables.