llmdoc

HTML in, Markdown out.

Paste HTML — or a web page copied with the mouse — and get clean Markdown with tables, links, and code. Converted in your browser. Free, no signup.

Converted in your browser — nothing uploads. ⌘/Ctrl+Enter converts.

or drop a file

— or drop it here · converted on our server once, then deleted · MathML becomes LaTeX

Paste the HTML

The markup itself, or a formatted web page copied with the mouse — the box uses the page's HTML either way. Or drop an .html file.

Check the preview

The Markdown opens in the editor with the rendered page beside it: headings, lists, tables, links, code blocks, and images kept as links.

Use it anywhere

Paste it into a ChatGPT or Claude prompt, keep it in Notion or Obsidian, or export it to Word, PDF, and the rest.

What actually happens to the markup

The HTML is parsed into a document tree, scripts, styles, and empty wrappers are removed, and each element is written as the Markdown it stands for: headings, emphasis, lists, tables, code, links, images. The same conversion runs when you paste formatted text into the converter’s editor, which is why a selection copied from a web page, Word, or Google Docs lands there as Markdown rather than as a wall of tags or a wall of plain text. Files go through Pandoc on our server instead, which also reads MathML equations into LaTeX.

What converts, and into what

In the HTMLIn the Markdown
<h1>…<h6>, <p>, <br>ATX headings and paragraphs; line breaks kept where they were.
<strong>, <em>, <s>, <a>**bold**, *italic*, ~~strikethrough~~, [links](…). Underline has no Markdown and keeps its text.
<ul>, <ol>, task listsNested lists with - and 1.; checkboxes stay checkboxes.
<table>Pipe tables. Cells spanning rows or columns arrive as a plain grid.
<pre><code>, <code>Fenced code blocks with the language class when there is one; inline code in backticks.
<img>Kept as an image link to the original file — data URIs stay inline.
<math> (MathML)LaTeX — when the page came in as an .html file. Pasted HTML keeps the equation's text.
<script>, <style>, tracking pixelsRemoved. Word's <o:p> and mso- clutter too.

Common questions

How do I convert HTML to Markdown?

Paste the HTML into the box above and click Convert, or copy a formatted web page and paste that — the box takes the page's HTML from your clipboard. The Markdown opens in the editor with a rendered preview. Nothing uploads: the conversion runs in your browser. An .html file dropped on the second box is converted by our server and deleted afterwards.

Can I convert a whole web page?

Select the article on the page, copy, and paste it here; that is usually cleaner than pasting the page's source, because navigation, ads, and scripts are not part of what you selected. If you do paste the full source, scripts and styles are stripped and the visible structure is kept.

Do tables and code survive?

Yes. HTML tables become pipe tables with a header row, code blocks become fenced blocks (with the language when the page marked one), and inline code keeps its backticks. Merged table cells have no Markdown equivalent and arrive as a plain grid.

Why would I want Markdown instead of HTML?

To give the content to an AI assistant, mostly: Markdown keeps headings, lists, tables, and code as text a model reads correctly, without the tags. It is also what GitHub, Notion, Obsidian, and documentation sites take, and it round-trips through this converter to Word, PDF, and Google Docs.

Where does the HTML go?

Pasted HTML never leaves your browser — the conversion is JavaScript on your machine. An .html file dropped on the upload box is sent once to our converter, read by Pandoc, and deleted with every temporary file; nothing is logged or stored.