Skip to main content

HTML Table to Markdown Converter

Paste an HTML table, get a clean GitHub-flavoured Markdown table with the |---| separator row, tags stripped, entities decoded and pipes escaped, all in your browser

  • Runs locally
  • Category Format Converter
  • Best for Turning pasted content or local files into a handoff-friendly format.
Paste HTML containing a <table> on the left, get a GitHub-flavoured Markdown table on the right. The first row (or a <th> row) becomes the header and the |---| separator row is added for you. Tags inside cells are stripped to text, entities (&amp;, &#39;, &nbsp;) decode to characters, and a literal pipe | is escaped to \| so it never breaks the column. Turn on "Read alignment" to map each th align or text-align into :---: markers.
HTML table source
Markdown table
Paste an HTML table on the left and Markdown appears here.

What this tool does

Convert an HTML table into a Markdown table without leaving the page. Paste a single `<table>` snippet, a copied chunk of page source or a View-Source dump, and the tool rebuilds it as a GitHub-flavoured Markdown table: the first row (or a `<th>` row) becomes the header and the `|---|` separator line is added for you. Every cell is cleaned up the way a Markdown table needs it. Nested tags like `<b>` or `<a>` are removed and only their text survives, HTML entities such as `&amp;`, `&#39;` and `&nbsp;` are decoded back to real characters, and a literal pipe `|` is escaped to `\|` so it never breaks the column. Line breaks inside a cell collapse to a space, or you can keep them as a literal `<br>` that renders on most Markdown engines. Turn on alignment reading and each column maps its `align` attribute or `text-align` style into `:---`, `:---:` or `---:`. Ragged rows are padded so the grid stays rectangular, and you can pull either the first table or every table on the page. Parsing is pure string work, never the DOM, so nothing inside the pasted HTML can run. One click copies the Markdown. 100% client-side, no upload, no tracking.

Tool details

Input
Files + Text + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
Shareable URL state
Key settings are encoded in the URL so another person can reopen the same setup.
Performance budget
Initial JS <= 9 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Format Converter · Developer
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How HTML Table to Markdown fits into your work

Use it when the main problem is getting content from one practical format into another.

Conversion jobs

  • Turning pasted content or local files into a handoff-friendly format.
  • Previewing a conversion before you use it in a larger workflow.
  • Cleaning small format mismatches without opening a full editor.

Conversion checks

  • Try a small sample first when the source format is messy.
  • Check character encoding, separators, and line endings after conversion.
  • Keep the source until the converted output has been reviewed.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Unit Converter Convert between length, weight, temperature, area, volume, speed, time — instant, browser-only Open
  2. 2 Percentage Calculator 5 common percentage calculations — "x% of y", "x is what% of y", percentage change, increase/decrease — instant, browser-only Open
  3. 3 HTML Table to CSV Converter HTML table to CSV converter — paste HTML or full page source, extract all tables, get CSV/TSV/JSON/Excel-ready output with header detection + colspan/rowspan handling. Open

Real-world use cases

  • Drop a scraped table into a GitHub README

    You found a comparison table on a docs site and want it in your project's README. Copy the page source, paste the `<table>` block here, and you get a GFM table with the separator row already in place. The bold tags and links inside the cells flatten to plain text, the stray pipe in a version string gets escaped, and the result renders cleanly on GitHub without you hand-fixing a single row.

  • Move spec tables out of a CMS into Markdown docs

    A product spec lives as an HTML table in a CMS, and the engineering docs are Markdown. Instead of retyping rows, paste the table HTML, flip on alignment so the numeric columns stay right-aligned, and copy the Markdown straight into the docs repo. The header row and column count come across exactly, so a reviewer reading the diff sees a faithful copy of the original.

  • Convert email or newsletter tables for a blog post

    You want to quote a pricing table from an HTML email in a blog post written in Markdown. The email table is full of inline styles and `&nbsp;` padding. Paste it, let the entities decode and the styles drop away, and you get a tidy Markdown table. Keep cell line breaks as `<br>` if a cell really needs two lines, otherwise they collapse to a single readable line.

  • Clean up an exported report table for a wiki

    A reporting tool exports tables as raw HTML with nested `<div>` and `<span>` wrappers around each value. Pasting that into a wiki gives a mess. Run it through here first: the wrappers vanish, only the values remain, ragged rows get padded so the columns line up, and the Markdown you copy pastes into Confluence or a GitHub wiki without further editing.

Common pitfalls

  • Pasting a full page and expecting only the table you see. By default the tool takes the first table in the source order, which may not be the one rendered first on screen. If you get the wrong table, paste just the `<table>...</table>` block you want, or turn on the every-table option and pick the right block from the output.

  • Forgetting that Markdown cells cannot hold block HTML. A cell with a nested list, a paragraph or another table loses its structure and flattens to text, because a Markdown table cell only renders inline content. If the source cell is genuinely complex, restructure it in the original before converting rather than expecting the layout to survive.

  • Leaving alignment off and wondering why numbers are left-aligned. Markdown defaults every column to left alignment, so a numeric column will not right-align unless you turn on alignment reading and the source actually carried an `align` attribute or `text-align` style. Without that signal there is nothing for the tool to map, and the column stays plain.

Privacy

Everything happens inside your browser tab. The HTML you paste is parsed with plain string matching, never assigned to the DOM, so no script, image fetch or tracking pixel hidden in the source can run. The table content is not uploaded anywhere and there is no logging of what you converted. The only thing that ever touches the URL is the three cosmetic toggles (alignment, line-break mode, every-table), so a shared link reproduces your settings without carrying a single cell of your data.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-05-29