Skip to content
Agents tracked: 440 Downloads (7d): 202M down 19.5% GitHub stars: 10.4M Releases (7d): 607 Agent status: 3 with issuesSince last limit reset: Claude 28d · Codex 0d Updated Oct 21, 2026

GitHub Flavored Markdown tables in Marked

GitHub Flavored Markdown adds tables, task lists and strikethrough on top of plain Markdown, and Marked renders them to HTML.

All Marked examples Marked: usage and stats

GitHub Flavored Markdown tables in Marked: screenshot of the example below running
The code below, running in Chromium on our server (Oct 12, 2026). Press Run to see it live and change it.

How it works

  1. Write GFM syntax. The input has a pipe table with a centered column, three task list items with [x] and [ ], and ~~text~~ for strikethrough. [1]
  2. Parse it like any Markdown. The same marked.parse(md) call turns the table into <table> markup, the task items into disabled checkboxes and the struck text into <del>. [1]
  3. Style the output. Marked outputs plain HTML elements, so the table borders, header background and grey strikethrough all come from the <style> element in the example. [2]

Run and edit it

It runs in your browser, in a sandboxed frame that cannot see this site; the packages load from esm.sh only after you press Run.

import { marked } from 'marked'

const md = `## Sprint board

| Task   | Owner | Status    |
|--------|-------|:---------:|
| Parser | Ana   | done      |
| Docs   | Bo    | in review |
| Tests  | Cy    | todo      |

- [x] Write tests
- [ ] Update changelog
- [ ] ~~Rewrite everything~~`

const style = document.createElement('style')
style.textContent = `
  html, body, #root { margin: 0; height: 100%; background: #111; font-family: system-ui, sans-serif; }
  .card { background: #f6f7f9; color: #1b1d22; border-radius: 12px; padding: 14px 22px; width: 420px; }
  .center { display: flex; align-items: center; justify-content: center; height: 100%; }
  h2 { margin: 4px 0 10px; font-size: 20px; }
  table { border-collapse: collapse; width: 100%; font-size: 14px; }
  th, td { border: 1px solid #d5d8de; padding: 5px 10px; text-align: left; }
  th { background: #e8ebf0; }
  ul { list-style: none; padding-left: 4px; font-size: 14px; }
  del { color: #999; }
`
document.head.appendChild(style)

// Tables, task lists and strikethrough come from GitHub Flavored Markdown
const root = document.getElementById('root')
root.innerHTML = `<div class="center"><div class="card">${marked.parse(md)}</div></div>`
Ctrl/⌘ + Enter runs

Free for signed-in members, with a daily limit. Describe the change in plain words; the new code runs only in your browser.

Add a row to the table or tick another task with [x] to see it render. Code written by AgentGid [1].

Checked Oct 12, 2026: it starts without errors in Chromium with marked 18.1.0. Needs WebGL.

More Marked examples

Converting Markdown to HTML with Marked The breaks option in Marked A live Markdown preview with Marked Removing zero-width characters before Marked

Sources

  1. Marked website
  2. Marked README (GitHub)

Explanations written by AgentGid from the official docs; the numbers in brackets point here. The code marked "written by AgentGid" is ours and free to copy.

Building something with Marked? Ask AgentGid →