Skip to content

Markdown Table Editor

Paste an existing Markdown table, edit it like a spreadsheet, and copy the updated Markdown back out.

Row
1
🟢 Done
2
🟡 In Progress
3
Output
| Task                |     Status     | Priority |
| :------------------ | :------------: | -------: |
| Launch website      |    🟢 Done     |     High |
| Write documentation | 🟡 In Progress |   Medium |
| User testing        |   ⚪ Planned   |      Low |
3 rows × 3 columns
Rendered Preview
TaskStatusPriority
Launch website🟢 DoneHigh
Write documentation🟡 In ProgressMedium
User testing⚪ PlannedLow

How to edit a Markdown table in 3 steps

  1. Paste your table

    Copy the table from your README or notes and press Ctrl+V (⌘V) anywhere on the page outside a text box. You can also open the Markdown tab and paste over the source.

  2. Edit cells, rows and columns

    Click a cell to change it. Use the ▾ menu on a column to align, sort, insert, move or delete it, and the row menu (or Ctrl/⌘+D, Alt+↑/↓) to duplicate and move rows.

  3. Copy the updated Markdown

    The output re-pads every column as you edit. Click Copy Markdown and paste it back over the old table. Ctrl/⌘+Z undoes any step.

Example

Pasted table (ragged, last pipe missing)
|Task|Owner|Points|
|---|---|---|
|OAuth PKCE|Alice|8|
|Edge cache|Bob|5
After editing: renamed a cell, added a row, Points right-aligned
| Task             | Owner   | Points |
| ---------------- | ------- | -----: |
| OAuth PKCE       | Alice   |      8 |
| Edge cache (CDN) | Bob     |      5 |
| Index tuning     | Charlie |      3 |

Options explained

Grid / Markdown / Import tabs
Grid is the visual editor. Markdown shows the source, kept in sync with the grid, and you can type in it directly. Import accepts any table format or a file.
Find
Highlights matching cells and replaces text across the table or in one column. Ctrl/⌘+F opens it when the focus is not in a text box.All columns or one column · Match case · Replace All
Totals
Shows a summary row under the grid with a per-column metric. It is a calculator for checking numbers and is not added to the Markdown output.SUM · AVG · COUNT · MIN · MAX
Options
Resize the grid to an exact row and column count (data is kept), reset to the table you started with, load an example table, and see the keyboard shortcuts.Up to 500 rows × 50 columns
Cell toolbar
Wraps the selected text in bold, italic, inline code, strikethrough or a link, or inserts a status badge. Rich/Raw switches between rendered cells and raw Markdown.Ctrl/⌘+B, I, E, K · Ctrl/⌘+Shift+X · Ctrl/⌘+D duplicate row · Alt+↑/↓ move row
Column menu (▾)
Set alignment, sort the rows A → Z or Z → A by this column, insert a column left or right, move, duplicate or delete it.
Tools
Whole-table actions: header case, auto-align, transpose, quick clean and deep clean.UPPER · lower · Title Case · Auto-align · Transpose · Quick clean · Deep clean
Flavor and Spacing
Flavor picks the output syntax; Spacing controls padding. Keep GFM + Padded to match most READMEs and to keep diffs small.GFM · MultiMarkdown · Pandoc Pipe · reStructuredText · Org-mode · Padded / Compact / No outer pipes
Download and Copy link
Download saves the active format, an .xlsx workbook, CSV or a PNG. Copy link makes a URL that reopens the table, stored after #md= so it is not sent to the server.
Browse all 36 tools

About this tool

Editing a Markdown table by hand means counting pipes and re-padding every row when one cell gets longer. Paste the table here instead: it opens in a grid where you edit cells, add, move and delete rows and columns, change alignment and find and replace text, while the Markdown source stays in sync. Copy the result back and the columns are re-aligned for you.

  • Paste any Markdown table and edit it in a grid
  • Two-way sync between the grid and the Markdown source
  • Insert, move, duplicate, sort and delete rows and columns
  • Find and replace across the table or one column
  • Keeps alignment colons, escaped pipes and inline formatting
  • Undo/redo with Ctrl/⌘+Z and a draft that survives reloads
  • Also exports HTML, CSV, JSON, LaTeX, SQL, Jira, .xlsx and PNG

Technical details

How the editor reads and rewrites your table

The editor parses the first pipe table it finds in what you paste, ignoring text before it. It reads the header row, takes alignment from the delimiter row, and keeps each cell’s inline Markdown as written. When you copy, it writes the whole table again in the flavor and spacing you chose.

  • Ragged rows: Rows with fewer cells are padded with empty cells and rows with extra cells get new columns, so no data is dropped. GitHub would hide the extra cells.
  • Alignment: :---, :---: and ---: in the delimiter row become the column’s alignment and are written back the same way.
  • Escaped pipes: \| is read as a literal | and written back as \|, including inside code spans.
  • Inline Markdown: **bold**, `code`, links, images and <br> stay as typed; the Rich view renders them while you edit.
  • Output: Padding is recalculated from the widest cell in each column, counting emoji and CJK characters as double width.

Common problems and fixes

The pasted table comes in as one column

Cause: The text has no delimiter row and few pipes, so it was read as plain lines.

Fix: Make sure the second line is a delimiter row like | --- | --- |. The Validator can rebuild a missing delimiter row with Auto-repair.

Only part of my document was loaded

Cause: The editor loads one table at a time: the first table in the pasted text.

Fix: Paste each table separately, then copy it back into its place in your document.

My totals row is missing from the Markdown

Cause: Totals is a calculator shown under the grid; it does not change the table.

Fix: Add a row and type the totals in it if you want them in the output. The Sorter can keep such a row pinned at the bottom.

Frequently asked questions

How do I edit a Markdown table without counting pipes?

Paste the table into this editor (Ctrl+V or ⌘V anywhere on the page outside a text box), edit it in the grid, and click Copy Markdown. The editor writes the pipes, the delimiter row and the padding for you, so you only change the content.

How do I add a column to an existing Markdown table?

Open the ▾ menu on a column header and choose Insert column left or Insert column right. Every row gets the new cell, and the delimiter row is extended, so the table stays valid.

Can I edit the Markdown source directly?

Yes. The Markdown tab shows the source and is kept in sync with the grid: type in either one and the other updates. Prettify re-pads the source without changing the content.

Will my formatting, links and escaped pipes survive?

Yes. Inline Markdown such as **bold**, `code`, links, images and <br> is kept as written, alignment colons are preserved, and \| is written back as \|. Turn on the Rich view in the grid to see cells rendered while you edit.

Can I paste cells from Excel or Google Sheets into an existing table?

Yes. Click the cell where the block should start and paste; the rows and columns are filled from there and the grid grows if needed. Pasting into a blank grid uses the first row as the header.

Is there undo?

Yes. Ctrl+Z (⌘Z) undoes table edits and Ctrl+Shift+Z or Ctrl+Y redoes them. Inside a text box the shortcut undoes text as usual. Each burst of typing in one cell is one undo step.

Are my edits saved if I close the tab?

Yes, in this browser. The table is saved to local storage as you work and restored on your next visit, with a notice that offers Start blank. Nothing is uploaded; to move the table to another device, use Copy link or download it.

Can I edit a table from GitHub, Obsidian or VS Code here?

Yes. Any GFM pipe table works: copy it from the file, edit it here and paste it back. The output uses the same syntax, so it renders the same in GitHub, GitLab, Obsidian and VS Code preview.