Skip to content

Free browser tools that respect your files — everything runs locally, nothing is uploaded.

Webpage to Markdown

Turn any HTML page into clean, LLM-ready Markdown — article extraction, code fences, tables, and absolute links. Free, no account, and everything runs in this browser.

Drop an .html / .htm file here

Used to resolve relative links and images into absolute URLs.

Your Results

Paste HTML, drop an .html file, or load the sample — the Markdown output appears here.

Quick Answer

A webpage-to-Markdown converter takes a full HTML page and returns clean Markdown you can paste into notes, docs, or an LLM prompt. This one runs a readability-style pass first — it strips nav, footers, and ads, then scores paragraphs to find the real article — before converting to GitHub-flavored Markdown with headings, tables, and fenced code. It is free, needs no account, and the whole conversion runs in your browser, so nothing you paste is uploaded.

How It Works

1

Paste the page’s HTML into the input box, or drop / choose an .html or .htm file (Load sample fills in a demo page)

2

Enter the page URL in Base URL so relative links and images become absolute URLs in the output

3

Toggle YAML front matter, straighten quotes, or Keep whole page (skips article extraction) — conversion updates live

4

Check the word, heading, link, and image counts above the output to confirm what was extracted

5

Copy the Markdown to the clipboard or download it as a .md file named after the page title

Key Facts

  • Readability-style extraction finds the main article and drops nav, footer, sidebar, comment, promo, and share boilerplate
  • Paragraph scoring: text length plus 3× comma count, propagated to ancestors, with <article>/<main> fallbacks
  • GitHub-flavored output: ATX headings, pipe tables, fenced code blocks with the language detected from language-* classes
  • Optional Base URL resolves every relative link and image to an absolute URL
  • Optional YAML front matter with title, description, source, and date
  • Keep whole page toggle skips extraction for full-document conversion
  • Straighten quotes option converts curly quotes, dashes, and ellipses to ASCII
  • Copy to clipboard or download a .md file named after the page title
  • Free, no sign-up, no uploads — parsing happens in your browser via DOMParser and Turndown

Frequently Asked Questions

How does the extractor know which part of the page is the article?

It first removes elements that are almost never content: script, style, nav, footer, aside, iframe, svg, form, noscript, ARIA landmark roles like navigation, and anything whose class or id matches words like sidebar, promo, comment, share, related, or advert. Then it scores every paragraph, heading, list item, and pre block as text length plus 3× the comma count, and adds that score to the element and its ancestors (divided by depth, up to 5 levels). The highest-scoring ancestor becomes the article root; if scores are too low to mean anything, it falls back to the <article> element, then <main>, then the body.

What is the difference between this and a plain HTML-to-Markdown file converter?

A file converter (like this site’s HTML to Markdown tool) converts the markup you give it wholesale — every tag you keep comes out as Markdown. This tool adds a readability stage first: it tries to isolate the main article from a full webpage, including one saved as HTML, so the output is clean prose without navigation menus, cookie banners, or footer links. If you do want everything, the “Keep whole page” toggle skips the extraction and converts the full body.

Do relative links and images survive the conversion?

Yes, when you fill in the optional Base URL field. Every link href and image src that is relative — like ./notes.html or /images/pic.png — is resolved against that base into an absolute https URL before conversion. Data URLs, mailto, tel, and #anchor links are left untouched. Without a base URL, relative URLs are kept exactly as they appear in the source.

Is my HTML or page content uploaded anywhere?

No. The page is parsed with the browser’s built-in DOMParser and converted with Turndown, a JavaScript library that runs in this tab. There are no network requests during conversion, nothing is logged to a server, and your input is only saved to this browser’s localStorage so it survives a refresh. Cloud-based readers and conversion APIs process your URL or content on their servers; this tool does not.

Which Markdown flavor and features does the output use?

GitHub-flavored-style Markdown: ATX headings (# H1), pipe tables, fenced code blocks (``` with the language taken from a language-* class on the code element), bold and italic, inline links and images, nested lists, blockquotes, horizontal rules, and ~~strikethrough~~. A cleanup pass collapses runs of blank lines and trims stray whitespace without touching the inside of code fences, and an optional pass straightens curly quotes, dashes, and ellipses to ASCII.

Is it free, and are there page-size or usage limits?

It is free with no account and no artificial limits. The only practical ceiling is your browser’s memory, since the whole HTML string is parsed in the tab — pages of a few megabytes convert without trouble. You can convert unlimited pages, and copy or download the result as many times as you like.