URL to Markdown
Fetch any live URL and convert its webpage into clean, formatted Markdown — headings, links, lists, tables, and code blocks all carry over. Server-side fetch, so it works even when the page blocks CORS.
Input
The page is fetched server-side and its content is converted to Markdown.
Output
Guides
What this tool does
Paste a live URL and this tool fetches the page server-side and converts its HTML into clean Markdown — headings, bold/italic text, links, images, ordered and unordered lists, blockquotes, inline code and fenced code blocks, tables, and horizontal rules all carry over. Because the fetch happens on our server, it works even against pages that block cross-origin requests from a browser (CORS).
Use it to turn a documentation page, blog post, or README-style page into Markdown you can drop straight into a wiki, a static site, or a chat message — without copy-pasting HTML into a separate converter first.
How to use it
- Enter the page's URL.
- Click Convert to Markdown.
- Pick a heading style (ATX
#or Setext underline), code-block style (fenced or indented), and bullet marker if you want something other than the defaults. - Copy the result or download it as a
.mdfile.
Frequently asked questions
Does this run in my browser? No — fetching a URL server-side is required because browsers block cross-origin page fetches (CORS), and many sites don't allow it at all. The URL you enter is fetched by our server, converted, and the resulting Markdown is returned to you; nothing else about the page is stored.
What if I already have the HTML instead of a URL? Use the HTML to Markdown Converter — the same conversion, but for HTML you paste directly rather than a live page.
Can I get the raw HTML instead of Markdown? Yes — URL to HTML fetches the same way and returns the unmodified HTML source.
Does it work on password-protected or JavaScript-rendered pages? No. The fetch only sees the HTML the server returns on the initial request — it doesn't run JavaScript or log in, so client-side-rendered content and anything behind a login wall won't appear in the result.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/url-to-markdown \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `url-to-markdown` tool (URL to Markdown) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.