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.