GALAXY OF TOOLS

DEV SECTOR

HTML to Markdown Converter

Turn HTML code or text copied from a web page into clean Markdown, with GitHub tables.

Extras

Runs entirely in your browser. Nothing you enter or upload is sent to a server.

Convert HTML and web pages to clean Markdown

The HTML to Markdown Converter turns HTML into readable Markdown you can drop into a README, a wiki, a static-site generator, a note-taking app or a chat with an AI assistant. Paste HTML source code, load an .html file, or — the quickest option — switch to Paste rich text and paste content copied straight from a web page, Google Docs or Word. The formatting on your clipboard is captured and converted, so headings, lists, links, bold and italics come through.

Conversion is powered by the open-source turndown library with extra rules written for this tool: GitHub-style tables with column alignment, task-list checkboxes, strikethrough, code blocks that keep their language, and fixes for the quirky HTML that Google Docs puts on the clipboard. Scripts and styles are stripped so they never leak into your Markdown.

Everything happens in your browser. Pasted content is read once and converted locally; it is never displayed as a live page or uploaded anywhere.

How to use the HTML to Markdown Converter

  1. Choose HTML code to paste or load markup, or Paste rich text to paste content copied from a page or document.
  2. In paste mode, click the paste area and press Ctrl+V (⌘V on a Mac, or long-press and choose Paste on a phone).
  3. Pick your Markdown style: heading style, bullet marker, code-block fences, italic and bold markers, and inline or reference links.
  4. Leave GitHub tables, ~~strike~~, tasks ticked for GitHub Flavored Markdown, and Strip scripts & styles ticked to drop non-content code.
  5. Press Copy Markdown or Download .md.

HTML to Markdown Converter features

Paste from any web page

The paste area captures the formatted HTML from your clipboard, not just plain text, so structure and links survive.

GitHub Flavored Markdown tables

Tables become pipe tables with alignment from align or text-align, merged cells padded and pipes in cells escaped.

Clean output from Google Docs

The invisible bold wrapper Docs adds is ignored, and its bold and italic spans become real Markdown emphasis.

Code blocks with language

A language-xxx or lang-xxx class becomes the fence label, and fences grow longer if the code itself contains ``` .

Your Markdown style

ATX or Setext headings, -, * or + bullets, ``` or ~~~ fences or indented code, and inline or reference-style links.

Safe by design

HTML is parsed into an inert document that never runs scripts or loads images, and scripts and styles are removed from the output.

How HTML elements are converted

HTMLMarkdown
<h1> … <h6># Heading … ###### Heading (or underlined for h1 and h2)
<strong>, <b> / <em>, <i>**bold** / _italic_
<a href>[text](url "title") or a numbered reference
<img>![alt](src)
<ul>, <ol>- item, 1. item (nested lists are indented)
<pre><code>Fenced or indented code block
<table>GitHub pipe table
<del>, <s>~~strikethrough~~
<blockquote>, <hr>> quote, ---

What Markdown cannot represent

Markdown is deliberately simple, so some HTML has no equivalent. Knowing this saves surprises:

  • Colours, fonts and layout — inline styles, classes and column layouts are dropped; only structure and emphasis remain.
  • Merged table cells — GitHub tables have no colspan or rowspan, so merged cells are padded with empty cells to keep columns aligned.
  • Block content inside table cells — paragraphs and lists in a cell are joined onto one line, because a pipe table row must stay on a single line.
  • Forms, videos and embeds — these are removed. Untick “Strip scripts & styles” to keep script and style blocks as raw HTML instead.
  • Word’s fake lists — Word sometimes copies bullet points as paragraphs starting with a symbol rather than real list items; check those lines after converting.

Useful workflows

  • Save an article or documentation page as Markdown notes for Obsidian, Notion, Joplin or a Git repository.
  • Migrate a blog from a database-driven CMS to a static-site generator that reads Markdown files.
  • Paste a Google Doc as Markdown to publish it on GitHub or to feed it to tools that prefer plain text.
  • Round-trip content: convert here, edit the Markdown, then turn it back into HTML with the Markdown to HTML converter. To inspect the original markup first, open it in the HTML Viewer.

HTML to Markdown Converter FAQ

Is this HTML to Markdown converter free and private?

Yes. It is free with no limits, and conversion runs in your browser. Pasted and loaded content is never uploaded.

How do I convert a web page to Markdown?

Select the part of the page you want, copy it, choose “Paste rich text” and paste into the paste area. The formatted HTML from your clipboard is converted to Markdown instantly. You can also paste the page’s HTML source in “HTML code” mode.

Does it convert HTML tables to Markdown?

Yes. With GitHub extras ticked, tables become GitHub Flavored Markdown pipe tables. The first row is used as the header, column alignment is kept and merged cells are padded.

Why is my Google Docs text all bold?

Google Docs wraps copied content in an invisible bold tag. This converter recognises that wrapper and ignores it, while real bold and italic text from Docs is still converted.

Is it safe to paste HTML containing scripts?

Yes. The HTML is parsed as an inert document, which never runs scripts or loads images, and with “Strip scripts & styles” ticked they are removed from the Markdown entirely.

What is the difference between ATX and Setext headings?

ATX headings start with # symbols (## Title) and work for all six levels. Setext headings underline the text with = or - and only exist for the first two levels; deeper headings still use #.

You might also need