Home/Tools/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, nothing but the conversion
curl "https://tinywebtools.xyz/wtm/?type=md&url=https%3A%2F%2Fexample.com%2Farticle&raw=1"

# structured JSON for a script
curl "https://tinywebtools.xyz/wtm/?type=json&url=https%3A%2F%2Fexample.com%2Farticle&raw=1"
Encode the address. If the page you are converting has its own query string, an unencoded & would cut the link short. The Tool tab builds a correctly encoded link for you after every conversion.
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.
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

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. Add &raw=1 and you get 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