How to copy a web page as Markdown for ChatGPT or Claude
Updated October 14, 2026 · 4 min read
When you copy a web page as Markdown for ChatGPT, Claude or any other model, you are solving two problems at once. You stop paying tokens for markup the model does not need, and you keep the structure that plain copy-paste destroys: headings, lists, code fences, link targets. There are three ways to get that Markdown. They differ mainly in which pages they can reach.
Three ways to get Markdown from a page
| Method | Works on | Runs where | Best for |
|---|---|---|---|
| The site's own Markdown | Sites that offer it | Their server | Documentation that ships a Markdown version |
| A reader service | Public pages | The service's servers | Scripts and agents fetching public URLs |
| A browser extension | Any page you can open, signed in or not | Your browser | Pages behind a login, one-off pastes while you browse |
1. Check whether the site already serves Markdown
A growing number of sites publish a Markdown version for machines. Many documentation sites have a "Copy page" button in the corner of each article. On the infrastructure side, Cloudflare announced Markdown for Agents on February 12, 2026: sites that enable it answer a request sent with the header Accept: text/markdown with a Markdown version of the page.
When this exists, use it. The author's own Markdown is usually cleaner than any conversion.
2. A reader service
Services such as Jina Reader convert an address for you: put https://r.jina.ai/ in front of a URL and you receive the page as Markdown. This is the natural choice inside a script or an agent.
Two limits follow from how it works. The service fetches the page from its own servers, so it sees what an anonymous visitor sees: nothing behind your login, and sometimes a bot challenge. And the address of what you read goes through a third party.
3. A browser extension
An extension converts the page as it is displayed in your browser, with your session. That covers the cases the other two miss: an internal wiki, a paid newsletter, a dashboard, a forum thread you had to expand.
Copy a page as Markdown with Markforge
Markforge is a free Chrome extension that does the conversion locally. Nothing is sent to a server.
- Open the page and press Alt+M.
- Check the token count under the content.
- Click Copy, then paste into your chat.
To make it a single keystroke, open the settings with the gear icon and turn on Copy markdown to clipboard on convert. From then on, Alt+M converts and copies in one step.
Trim before you paste
The popup gives you four ways to cut the context down:
- Strip links. The toggle removes URLs and keeps the link text. On link-heavy pages this is the biggest lever: 38.7% fewer tokens on a Wikipedia article, 21.5% on an MDN reference page in our measurements.
- Clip Selection. Click it, hover the page, and click the block you want. Only that block is converted. Use it when you need one section of a long page.
- Edit the content. The Markdown is editable in the popup. Delete what the model does not need.
- Exclude selectors. In the settings, list CSS selectors that should always be removed, such as a site's comment section.
If you do not want metadata in your paste, turn off Include YAML frontmatter in the settings. Left on, it adds a few lines with the title, the source and the address, which is useful when you paste several pages into one conversation and want the model to cite them.
What to expect from the conversion
We ran Markforge's generic parser on public pages from MDN, the Python documentation, web.dev, react.dev and two personal blogs. On each one, the word count of the Markdown matched the word count of the page's main content within 6%, and the token count dropped by 25% to 94% compared with the HTML source. The full table is in HTML vs Markdown for LLMs: token counts on 11 real pages.
It does not work everywhere, and you should know where.
- Some sites come out empty. The generic parser removes elements that look like interface. On Stripe's documentation, that rule removed the article itself in our test. When a page converts to almost nothing, use Clip Selection on the article: it converts the block you pick without that filter.
- Tables are flattened. Version 1.0.0 writes each cell on its own line. For a page that is mostly a table, paste the table itself.
- Dedicated parsers do better than the generic one. On Reddit, X, Hacker News, Stack Overflow, GitHub, Wikipedia, Substack and the AI assistants, Markforge uses a parser written for the site. See for instance saving a Reddit thread.
Which method to pick
Use the site's own Markdown when it exists. Use a reader service in code, on public pages. Use an extension for everything you read signed in, and for the daily habit of pasting what is on your screen into a chat.
Frequently asked questions
Why paste Markdown into an LLM and not the page itself?
HTML source is mostly markup: on 11 public pages we measured, converting to Markdown removed between 25% and 98% of the tokens. Plain copied text is light but loses headings, code blocks and link targets. Markdown keeps the structure for about the cost of the text.
How do I copy a page as Markdown with one shortcut?
In Markforge's settings, turn on Copy markdown to clipboard on convert. After that, pressing Alt+M on any page converts it and puts the Markdown on your clipboard in one step.
Does this work on pages behind a login?
With a browser extension, yes: it converts the page as your browser displays it, signed in. Reader services that fetch an address from their own servers only see what an anonymous visitor would see.
Can I copy just one section of a page?
Yes. Click Clip Selection in the Markforge popup, hover the page to highlight a block, and click it. The popup reopens with only that block converted.
How do I reduce the token count further?
Use the Strip links toggle to remove URLs while keeping link text, which saved 21% to 39% on link-heavy pages in our measurements. You can also list CSS selectors to exclude in the settings, and delete text directly in the popup before copying.
Related guides