Home/Tools Guides/Webpage to Markdown

Webpage to Markdown

Turn any public web page into clean Markdown, plain text or structured JSON. Menus, banners, scripts and cookie notices are dropped, so what you get is the part you actually wanted to read.

What to convert

Public pages only. A page that builds itself with JavaScript, or one behind a login or paywall, will come back thin or empty — use Paste HTML for those.
Conversion options
Turning off Readable part only converts the whole page body, menus included.

Result

Paste an address above and press Convert.

Markdown, plain text and JSON are all produced at once.

How to use it

Three steps, no account, nothing kept afterwards.

1

Paste the address

Any public page: an article, a documentation page, a changelog, a product listing.

2

Pick a format

Markdown for notes and docs, plain text for reading or feeding a model, JSON when a script has to read it.

3

Copy or download

All three formats are produced in one pass, so switching between them is instant.

Direct link routes

Skip the form entirely. Build the address yourself and the result renders on its own page, or comes back as a bare document for a script.

# human page: loads instantly, shows a loader, then the output
https://tinywebtools.xyz/wtm/?type=md&url=https%3A%2F%2Fexample.com%2Farticle

# bare document. These three are identical, pick whichever reads better:
curl "https://tinywebtools.xyz/wtm/raw/?type=md&url=https%3A%2F%2Fexample.com%2Farticle"
curl "https://tinywebtools.xyz/wtm/?type=md&url=https%3A%2F%2Fexample.com%2Farticle&raw=1"
curl "https://tinywebtools.xyz/wtm/?type=md&url=https%3A%2F%2Fexample.com%2Farticle/raw"

# plain text and structured JSON, same three forms
curl "https://tinywebtools.xyz/wtm/raw/?type=txt&url=https%3A%2F%2Fexample.com%2Farticle"
curl "https://tinywebtools.xyz/wtm/raw/?type=json&url=https%3A%2F%2Fexample.com%2Farticle"
Which form to use. Prefer /wtm/raw/. Writing /raw after the address is convenient, but a page whose own address ends in /raw — a pastebin or a code host — is then ambiguous. If you need to convert one of those, percent-encode it as %2Fraw and the marker is ignored, or use the folder route.
Encoding is optional. Paste the address as it is and it works, query string and all: everything after url= is treated as part of the target unless it is one of the parameters in the table below. So &url=https://example.com/?a=1&b=2 arrives intact, while &type=txt is still read as ours.

Percent-encode when you want to be certain, which the Tool tab does for you: the one case that needs it is a target carrying a parameter that shares a name with ours, such as its own type=.
ParameterValuesWhat it does
urlweb addressThe page to convert. Required. Percent-encode it.
typemd, txt, jsonOutput format. Defaults to md. markdown and text also work.
raw1Return the bare document with the matching content type and no HTML page around it. Same as the /wtm/raw/ route, or a literal /raw written after the address.
main1, 0Readable part only. Default 1. Set 0 to convert the whole body.
links1, 0Keep links. Default 1. Off leaves the link text in place.
images1, 0Keep images. Default 1. Off keeps the alt text only.
tables1, 0Keep tables as Markdown pipe tables. Default 1.
fm1Prepend a YAML front-matter block to Markdown output.
wrap40 – 200Hard wrap plain text at this column. Off by default.

Fetches are rate limited per connection, roughly 20 a minute and 200 an hour. Errors come back with a real HTTP status: 400 for a bad address, 403 when the site refuses, 404 when the page is gone, 413 over 5 MB, 429 over the limit, 504 on a timeout.

Questions

How do I convert a URL to Markdown?
Paste the address above and press Convert. The page is fetched, the navigation, adverts, cookie banners and scripts are dropped, and what comes back is the readable article as Markdown you can paste anywhere.
How do I convert HTML to Markdown?
Give it a URL and it does the HTML parsing for you. The conversion keeps headings, lists, links, code blocks, block quotes and tables, and discards presentational markup that carries no meaning.
Why convert a web page to Markdown for an LLM?
Raw HTML wastes context on markup that the model does not need, and pastes badly. Markdown keeps the document structure a model reads well while cutting the token count substantially. The JSON output goes further, splitting title, byline, publication date and body into fields you can drop straight into a prompt or a RAG pipeline.
Can I get plain text instead?
Yes. Choose the plain text output for the article with no formatting at all, or JSON for structured fields. Markdown sits between the two and is the right default for pasting into notes, an editor or a chat.
Is anything stored?
No. The address is used for one fetch, the page is converted in memory, and the result goes straight back to your browser. Nothing is written to disk except an anonymous counter that holds a hash of your IP and some timestamps, which is what enforces the rate limit. The address and the page content are never logged and never cached.
Why is this not done in my browser like your other tools?
A browser is not allowed to read a page from another site, which is what the same-origin policy exists to prevent. So the fetch happens on our server and the conversion happens there too, in one pass. Everything you convert is a public page rather than private data, and the privacy page states plainly which tools run locally and which do not.
My page came back nearly empty. Why?
The page almost certainly builds its content with JavaScript after loading, so the HTML we receive is an empty shell. Paywalls and login-only pages behave the same way. Open the page in your browser, view its source, and use the Paste HTML tab instead — that path never fetches anything and works on whatever you can already see.
What does "readable part only" actually remove?
Scripts, styles, forms, iframes, navigation, footers, cookie banners, share bars, comment blocks and related-post strips. What remains is scored on how much prose it holds against how much of it is link text, and the winning block is converted. Turn the option off when you want the whole body, menus included.
Can I use the direct route from a script?
Yes. Use /wtm/raw/?type=md&url=…, or add &raw=1, or write /raw after the address — all three return the bare document with the right content type: text/markdown, text/plain or application/json. Keep to the published rate limit, encode the target address, and expect ordinary HTTP status codes on failure.
Is it legal to convert someone else's page?
Reading a public page and reformatting it for yourself is normal use of the web. Republishing someone's article as your own is not, whatever the format. The conversion carries the source address so attribution stays possible, and generated pages on the short route are marked noindex so they never compete with the original in search results.

Related tools