HTML Table to Markdown
Convert HTML tables to pipe-separated Markdown table format instantly.
or drop a file here
When would I convert HTML tables to Markdown?
Markdown tables are used in GitHub READMEs, documentation sites, wikis, and static site generators. Converting HTML tables lets you migrate content from CMS systems, emails, or web pages to Markdown-based documentation without manually reformatting every row. The converter uses regex-based parsing so it works entirely in your browser with no server involved — HTML entities like & are decoded, nested tags are stripped, and columns are automatically padded to align the pipe characters for readable source output.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Moving a table from a web page into a README or a wiki that uses Markdown.
- Converting a scraped table into a format you can edit by hand.
- Getting a data table out of documentation and into a pull-request description.
- Producing a Markdown table from a spreadsheet exported as HTML.
- Simplifying a complex HTML table into something readable in source.
Frequently Asked Questions
- What happens to merged cells?
- They flatten. Markdown tables have no equivalent of `colspan` or `rowspan` — every row must have the same number of cells — so a merged cell lands in one column and the others come out empty. That is a limit of the format, not of the conversion.
- Are the entities decoded?
- Yes: `&`, `<`, `>` and ` ` are turned back into their characters, with the non-breaking space becoming an ordinary one. Leaving ` ` in place is the usual reason a converted table looks fine but will not align in a plain-text editor.
- Does it keep links and bold inside cells?
- No — cell contents are reduced to text. Markdown does allow inline `**bold**` and links inside a cell, but reconstructing them reliably from arbitrary HTML is a different job; for a table copied from a page, plain values are almost always what you want.
- What if a cell contains a pipe?
- It must be escaped as `\|`, otherwise it starts a new column and the row silently gains a cell. This is the single most common way a converted table breaks — check any cell holding a shell command or a regular expression.
- Do the columns need to line up?
- Not for correctness — a renderer only needs the pipes and the `---` separator row. Padding cells to an even width is purely for humans reading the raw file, and most formatters will do it for you on save.
- What happens to formatting inside a cell?
- Simple emphasis and links convert; block elements do not, because a Markdown cell cannot contain a paragraph or a list. Anything structural has to be flattened or left as inline HTML.
Common errors and gotchas
- Expecting merged cells to convert. Markdown tables have no rowspan or colspan.
- Losing nested markup inside cells, where a list or a second table has no representation.
- Failing to escape a pipe character inside a cell, which splits it into two columns.
- Assuming alignment attributes carry over, since Markdown expresses them with colons instead.
- Converting a table used purely for layout, which produces a nonsensical data table.
Related Converters tools
JSON to YAML
Convert JSON into clean, readable YAML instantly.
YAML to JSON
Convert YAML configuration into valid JSON.
JSON to XML
Convert JSON structures into nested XML markup.
HWB to HEX Converter
Convert an HWB color to HEX.
JSON to SQL
Turn a JSON array of objects into SQL INSERT statements.
CSV to XML
Convert CSV rows into structured XML records.
XML to CSV
Flatten repeated XML records into CSV rows.
INI to JSON
Parse INI config sections and keys into JSON.