Convert HTML to Markdown online, cleanly
Searching for “HTML to Markdown” or “convert HTML to Markdown online” usually means you are holding a chunk of markup — from a CMS, an email, a docs export, or your browser's developer tools — and you need it as readable Markdown. WebInk's free converter does that in your browser: paste HTML, click Convert, and get clean Markdown with headings, lists, links, tables, and code blocks intact, ready for GitHub, Obsidian, Notion, or an AI chat.
What an HTML to Markdown converter does
HTML is the markup browsers render: nested tags, attributes, inline styles, and often a pile of scripts. Markdown is a lightweight plain-text format that expresses the same structure with a few symbols — # for headings, - for list items, brackets for links, pipes for tables, and triple backticks for code. Converting HTML to Markdown means walking the HTML tree and mapping each meaningful element to its Markdown equivalent while discarding presentation details that Markdown has no way to express.
The goal is not to recreate a pixel-perfect layout. It is to keep the content and its structure — the heading hierarchy, emphasis, links, lists, tables, and code — in a form that is easy to read as raw text, diff in Git, paste into a notes app, or feed to an AI model. That is why developers, technical writers, and researchers reach for an online HTML to Markdown converter instead of retyping content by hand.
How tables, code blocks, and links are handled
Tables are the part most converters get wrong. When your HTML contains a real <table> with header cells, WebInk produces a GitHub-flavored pipe table with a separator row, so it renders correctly on GitHub, in Obsidian, and in most static site generators. Very complex tables with merged cells or nested tables cannot be represented faithfully in pipe syntax, so the converter keeps them readable rather than silently dropping data.
Code blocks are converted to fenced blocks. A <pre><code> element becomes a triple-backtick fence, and when the code element carries a language-* class, that hint is preserved after the opening fence so syntax highlighting still works. Whitespace and indentation inside the block are kept exactly, which matters for YAML, Python, and shell snippets. Inline <code> becomes single backticks.
Links keep their full href and become inline Markdown links, and images become image syntax with their alt text and source URL. Headings map to ATX-style # through ######, bold and italic map to double asterisks and single asterisks, and horizontal rules become ---. These are the same conversion rules the WebInk Chrome extension and URL tool use, so output looks the same whichever path you take.
Cleaning pasted HTML before conversion
HTML copied from View Source, a CMS export, or an email template is rarely clean. It often includes <script> tags, <style> blocks, tracking pixels, embedded iframes, and meta tags that have nothing to do with the content. This tool parses your HTML inside your browser and strips scripts, styles, noscript fallbacks, iframes, templates, and embedded objects before conversion, so none of that noise leaks into your Markdown as stray text.
Because parsing happens locally with the browser's own HTML parser, malformed markup — unclosed paragraphs, missing list wrappers, stray tags — is repaired the same way a browser would repair it. Nothing you paste is sent to a server. That makes the paste tool a good fit for internal docs, drafts, or snippets you would rather not upload anywhere.
Where clean Markdown is useful
README files and documentation are the classic destination. If you have product docs or a changelog in HTML, converting to Markdown lets you move it into a GitHub repository, a docs-as-code site, or a static site generator without hand-editing every tag. Pull request descriptions and issue comments benefit the same way.
Personal knowledge bases are another big use case. Obsidian, Logseq, and similar tools store notes as Markdown files, and Notion imports Markdown well. Converting an HTML snippet before pasting gives you real headings and lists in your vault instead of flattened text.
Finally, AI prompts. ChatGPT, Claude, Gemini, and Perplexity all understand Markdown structure, and Markdown uses far fewer tokens than raw HTML full of attributes and wrappers. After converting, use Send to AI to open your preferred assistant with the content, or copy it into any chat. The Send to AI feature in the extension does the same from any open tab.
HTML paste vs URL conversion vs the Chrome extension
WebInk offers three ways to get Markdown, and each fits a different starting point. Use this HTML to Markdown tool when you already have markup — a snippet from a CMS, an email template, an exported page, or a fragment from developer tools. You control exactly what goes in, and conversion happens entirely in your browser.
Use the URL to Markdown converter when all you have is a public link. It fetches the page, runs a readability pass to remove navigation, ads, and sidebars, and converts only the article body — far easier than copying the full page source and cleaning it yourself.
Use the WebInk Chrome extension when the content is behind a login or paywall, when you clip many pages a day, or when you want an automatic table of contents, templates, and ZIP export with images. If you are comparing clippers, our MarkDownload alternative and Obsidian Web Clipper alternative pages walk through the tradeoffs, and the Markdown feature overview explains the conversion engine shared by all three.
Tips for better HTML to Markdown output
Paste the smallest fragment that contains what you need. If you copy an entire page source, headers, footers, and cookie banners come along as ordinary content, because a paste tool cannot guess which part you care about. In browser developer tools, right-click the article element and choose Copy outerHTML to grab just the main content.
Prefer semantic markup when you control the source. Real <h2> headings, <ul> lists, and <table> elements convert cleanly; headings faked with styled <div> or <span> tags have no structure to map, so they come out as plain paragraphs.
Skim the output in the Preview tab before you ship it. Check that code fences carry the right language, that tables have a header row, and that relative links still make sense in their new home — a link like /docs/setup only works on the original site, so you may want to make it absolute. Then copy, download a .md file, or send it straight to your AI assistant.