extracts every <table> · preserves b · i · code · links

Convert HTML tables to Markdown

Paste any HTML containing one or more <table> elements — every table is extracted into a clean GFM pipe table with inline formatting preserved.

HTML → Markdown table
Input
285 B
7 lines
Output
140 B
6 lines
Status
ready
live
Ratio
0.49×
out/in
input · html
output · markdown
| name | qty | price |
| --- | --- | --- |
| apple | 10 | $1.20 |
| banana | 6 | $0.40 |
| pear | 3 | $1.80 |
| **cherry** | 20 | *varies* |
Quick Start

How to convert HTML tables to Markdown

Scrapes every table out of pasted HTML, decodes entities, maps b/i/code/a tags to Markdown, and emits clean pipe tables — even from messy full-page HTML.

  1. 01

    Paste HTML

    Anything containing one or more <table> elements.

    Parsing runs through marked with GFM extensions enabled — tables, task lists, strikethrough, and fenced code blocks all match GitHub’s rendering.

    htmlGFMmarkedCommonMarklive
    input · markdownhtml · GFM
    <table>…</table>
    loaded · GFMGFM · ready
  2. 02

    Extract tables

    Every table is parsed row by row, cell by cell.

    Soft-break behaviour is configurable: by default a single newline becomes a space (CommonMark), toggle on for chat-style <br> insertion.

    parsesoft-breaksoptionsconfiglive
    scan · optionstr/td · live
    rows × cols
    options applied · livelive
  3. 03

    Map inline

    Bold, italic, code, and links survive the conversion.

    The preview is scoped under a .mde class so its CSS doesn’t bleed into the rest of the page. Output HTML is whitespace-controlled for clean diffs.

    mappreviewscoped CSSrenderstable
    map · renderedmd · ready
    | **a** | *b* |
    rendered · liverendered
  4. 04

    Copy or download

    Drop the GFM table into a README or doc.

    Export covers both raw Markdown and rendered HTML; downloads stream as text/markdown or text/html via Blob + object URL.

    exportclipboard.md.htmlblob
    OK · exportedmd · done
    shipped
    shipped · ready to shipsuccess
Pro tips

Author Markdown that renders everywhere

GFM is the safe default

GitHub-Flavored Markdown is the de-facto baseline (tables, task lists, strikethrough). CommonMark is stricter but ubiquitous as a fallback.

Soft-break behaviour varies

A single newline is a space in CommonMark, a <br> in GFM. Toggle soft breaks when source matters.

Escape inside code fences

Backticks inside fenced blocks need a longer fence — three becomes four. Use ~~~ if your content has many backticks.

Anchors are slugified

GitHub lowercases, strips punctuation, and joins with hyphens. Duplicate headings get -1, -2 suffixes.

Tables need a header row

The dash row sets alignment (:---, :-:, ---:). Use Table Aligner for diff-friendly columns.

Front matter is YAML

Triple-dash blocks at the top of files are parsed by static-site generators. Use the Front-Matter Validator to catch syntax errors.

Use Cases

When to convert HTML tables

Scraping, migration, docs, reporting.

Scrape & document

Lift tables from a webpage into your README. Render path uses marked with GFM extensions enabled (tables, task lists, strikethrough, autolinks), so what you preview matches what GitHub publishes bit-for-bit. Soft-break behaviour is configurable for chat-style vs prose Markdown.

GFM-compliant

Migrate docs

Bring legacy HTML help pages into a Markdown site. Pairs cleanly with the Markdown Cheatsheet for syntax you can't quite remember — callout blocks, footnotes, definition lists. Output stays diff-friendly so style-only changes don't drown out real edits in PRs.

GitHub-perfect

Spec extraction

Pull spec tables out of HTML standards. Cross-platform safe: anchors, code fences, and tables behave identically on GitHub, GitLab, Bitbucket, and Gitea. Heading-anchor slugs follow GitHub's lowercase-and-hyphenate rules so deep links survive a docs migration.

diff-friendly

Release notes

Reformat vendor HTML release tables for your changelog. No server roundtrip — perfect for proprietary content you can't paste into a public tool. The full marked + GFM bundle ships with the page, so it works offline once loaded.

render-stable

Data prep

Snapshot tabular HTML before further processing. Front matter (YAML / TOML / JSON) passes through unchanged so static-site pipelines (Jekyll, Hugo, Astro, Eleventy) read it correctly. Pair with the Front-Matter Validator to catch syntax errors before deploy.

cross-platform

Wiki imports

Move tables out of Confluence/MediaWiki HTML exports. Output is reproducible: identical input always produces identical Markdown, so doc-generation scripts can rely on it for snapshot tests and embedded into release workflows.

SEO-friendly
FAQ

Frequently asked questions

Outer tables are extracted; nested tables collapse to text within a cell. Use a dedicated HTML→MD converter for deeply nested content.
b/strong → **bold**, i/em → *italic*, code → `code`, a[href] → [text](url). Everything else is stripped.
Markdown tables don't support spans. Cells render as-is in their visual row; gaps are padded with empty cells.
Yes — cell text is collapsed to single spaces and trimmed. Multi-line cell content joins with a single space.
No. Parsing runs locally in your browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!