mdbin
Documentation menu

Got a web page you'd rather read, share, or annotate as clean Markdown? Paste its address into mdbin and we'll fetch it, pull out the main article, and hand you an editable Markdown document — no copy-pasting, no clutter, and no AI rewriting it behind your back.

Generating a document

On the home page, find the "…or generate one from a web page" box, paste an http(s) URL, and press Generate. mdbin downloads the page, extracts the readable article (dropping nav bars, ads, cookie banners and other boilerplate), converts it to Markdown, and drops you into the editor with the result — ready to tweak before you publish.

Nothing is published automatically. You always land on the create page first, so you can review and edit the generated Markdown, then publish it yourself (or not).

Linking straight to a generation

You can skip the form entirely by putting the page address in a url query parameter on the home page:

https://mdbin.app/?url=https://example.com/some/article

Open that link and mdbin fills in the box and starts generating for you automatically. The url=… part is then removed from the address bar, so a refresh won't kick off the import a second time. This is handy for bookmarklets, share buttons, or wiring "open in mdbin" into your own tools. Remember to URL-encode the target address if it contains its own query string.

What you get

  • A faithful copy, not a paraphrase. The conversion is purely structural — headings stay headings, lists stay lists, links and tables are preserved, and the author's words are reproduced verbatim. mdbin never sends the page through a language model, so nothing is summarised, embellished, or invented.
  • A title. The page's title becomes the document's top-level # heading, with any trailing site name (e.g. "My Article | Acme Blog") trimmed off.
  • Real code blocks. Fenced code is preserved as code — syntax-highlighter markup from the source is stripped, and the language is auto-detected so it's highlighted here too. See Code blocks.
  • Images, handled safely. Pictures in the article are brought across as standard Markdown images and then treated like any other embedded image — proxied while you preview and re-served from our own storage once published. See Images.

How it works, and how it's kept safe

Fetching arbitrary URLs on a user's behalf is risky, so the importer is locked down the same way the rest of mdbin is (see Principles):

  • No reaching internal systems (SSRF). Every URL is resolved and verified before we connect, and the connection is pinned to the address we checked — so a link can't be pointed at localhost, a private network, or a cloud metadata endpoint, even through DNS tricks or redirects.
  • Bounded work. Downloads are size- and time-capped, and only real HTML pages are processed.
  • Rate limited. Generation is limited to 1 every 30 seconds and 50 per day per IP, so the importer can't be used to hammer other sites.
  • Short-lived. The behind-the-scenes record of an import (its URL and converted content) is pruned within about an hour — once you've published a document, that's the copy that lasts.

Good to know

Accepts public http:// / https:// web pages
Output structural Markdown — never AI-rewritten
Rate limit 1 per 30 seconds, 50 per day (per IP)
Review always editable before you publish
Best for articles and blog posts; highly interactive apps may not extract cleanly

If a page is mostly JavaScript, paywalled, or otherwise not article-shaped, the extractor may pull through little or nothing — in that case you'll get a short error and can paste the content in by hand instead.