Web to Markdown: the practical way to copy pages into AI tools
Web to Markdown: the practical way to copy pages into AI tools
If you use ChatGPT, Claude, Cursor, or another AI tool for research, you have probably hit the same annoying problem I have: web pages are not shaped like prompts.
A normal article page includes the article, but also navigation, cookie banners, related posts, footer links, ads, sidebars, newsletter boxes, comments, and tracking scripts. If you copy and paste the page into an AI tool, you often get a messy blob. If you paste the URL, the AI tool may not be able to fetch it. If the page is behind a login, it usually cannot reach it at all.
That is the job of a "web to markdown" tool: take the page you are looking at and turn it into clean Markdown that an AI model can read without wasting half the context window on junk.
I tested this workflow with Web2MD, our Chrome extension at web2md.org, and compared it with the tools people usually mention: Jina Reader, Firecrawl, and MarkDownload. They are all useful, but they solve slightly different problems.
What "web to markdown" should actually do
A good converter should not just dump HTML into a Markdown file. It should make judgment calls:
- Keep headings in the right order.
- Preserve links.
- Keep code blocks readable.
- Remove navigation and footer noise.
- Avoid adding random formatting.
- Give you output that works in ChatGPT, Claude, Cursor, and notes apps.
For example, a messy page section like this:
<div class="post">
<h2>Install the package</h2>
<p>Run the command below:</p>
<pre><code>npm install example-lib</code></pre>
<a href="/docs/config">Configuration docs</a>
</div>
should come out closer to this:
## Install the package
Run the command below:
```bash
npm install example-lib
That may look simple, but it matters. Markdown gives AI tools structure. Headings tell the model what belongs together. Code fences prevent commands from getting flattened into prose. Links keep references attached to the text.
## My test: AI research pages, docs, and logged-in content
I tested Web2MD on three common cases:
1. Public blog posts with lots of page chrome.
2. Technical documentation pages with code blocks.
3. Logged-in web pages that a server-side reader cannot access.
The public blog posts were the easiest. Web2MD stripped most navigation, kept the article structure, and produced Markdown I could paste into Claude without doing cleanup first. On technical docs, the most important detail was code formatting. If a converter breaks code fences, it is not worth using for developer work. Web2MD kept the examples readable in my tests.
The logged-in pages are where browser-side conversion matters.
Server-side tools, including excellent ones like Jina Reader and Firecrawl, fetch the URL from their own servers. That works well for public pages. It does not work the same way for a private Notion page, a paywalled article you are logged into, an internal dashboard, a course page, or a docs site that requires your session cookie.
Web2MD runs in Chrome, in the browser tab you already have open. If you can see the page, the extension can convert what your browser sees. Your login stays local. You do not need to send cookies or API keys to a remote fetch service.
That is the main difference.
## Example Markdown output from a normal article
Here is a simplified example of the kind of output I want from a web to markdown tool:
```md
# How vector search works
Vector search compares the meaning of text instead of matching exact words.
A search system usually follows this flow:
1. Split documents into chunks.
2. Convert each chunk into an embedding.
3. Store the embeddings in a vector database.
4. Convert the user's query into an embedding.
5. Return the nearest chunks.
## Why chunk size matters
Small chunks are easier to match precisely, but they can lose context.
Large chunks keep more context, but they can include irrelevant text.
[Read the full documentation](https://example.com/docs/vector-search)
That is clean enough to paste into an AI tool. It keeps the article hierarchy, the numbered list, the link, and the important paragraph breaks.
What I do not want is 300 lines of menu links before the article starts.
How Web2MD compares with Jina Reader
Jina Reader is very good for public URLs. You can often add a prefix to a URL and get a clean text or Markdown version back. It is fast, simple, and convenient when the page is public.
I still use tools like that for quick public-page extraction.
Where Web2MD wins is browser context. Jina Reader cannot use your active browser session. If the site requires a login, blocks server-side requests, or shows different content after authentication, a remote reader may see a login screen instead of the page you are reading.
Web2MD converts the page locally in Chrome. That makes it better for:
- Logged-in SaaS docs.
- Paywalled pages you already have access to.
- Private work dashboards.
- Course lessons.
- Internal knowledge bases.
- Pages that block bots or server-side fetches.
There is also a privacy difference. With Web2MD, conversion happens in your browser. You are not sending the page URL to a reader API just to get Markdown back.
How Web2MD compares with Firecrawl
Firecrawl is stronger when you need crawling, scraping, extraction at scale, or developer APIs. If you are building a pipeline that crawls hundreds of pages, Firecrawl is probably the more natural fit.
Web2MD is not trying to be that.
Web2MD is for the moment when you are looking at a page and want to send it to an AI tool now. No API key. No crawler setup. No script. Click the extension, check the token count, then copy the Markdown or send it to your AI tool.
For individual research, writing, and coding sessions, that is usually enough.
The token counter is one of the small features I ended up using more than expected. Before pasting a long article into ChatGPT or Claude, I want to know whether I am about to burn a huge chunk of context. Web2MD shows the token estimate before I send it.
How Web2MD compares with MarkDownload
MarkDownload is a solid browser extension for saving pages as Markdown. It has been around for a while, and it is useful if your main goal is archiving pages into local Markdown files.
Web2MD is more focused on AI workflows.
The output is meant to be pasted into ChatGPT, Claude, Cursor, and similar tools. The built-in token counter helps you decide whether to include the whole page or trim it. The one-click send-to-AI flow is designed for the way people actually work now: read a page, convert it, ask an AI tool to summarize, compare, rewrite, debug, or extract action items.
MarkDownload is good for "save this page as Markdown."
Web2MD is better for "turn this page into AI-ready context."
Example Markdown output from documentation
For technical pages, preserving code blocks is the difference between usable and annoying. Here is the kind of Markdown output I look for:
# Configure the client
Create a client with your project token:
```js
import { Client } from "example-sdk";
const client = new Client({
token: process.env.EXAMPLE_TOKEN
});
Set a timeout
The default timeout is 30 seconds. You can override it per request:
const result = await client.search("web to markdown", {
timeout: 10000
});
For more options, see API configuration.
This is the format I want before pasting docs into Cursor. The model can tell which text is explanation and which text is code. That reduces weird mistakes.
## Limits to know before you use it
Web2MD has limits, and they are worth saying plainly.
First, it is Chrome-only right now. If you live in Safari or Firefox, this is not your tool yet.
Second, the free tier includes 3 conversions per day. That is enough for light use or testing the workflow, but not for heavy research sessions. Pro is $9/month if you need more.
Third, browser-side conversion depends on what the page renders. If a site uses unusual client-side layouts, shadow DOM, heavy canvas rendering, or anti-copy tricks, the output may need cleanup. No web to markdown tool is perfect on every page.
Fourth, converting a page does not mean you have the right to reuse the content however you want. Web2MD helps you transform pages you can access. You still need to respect copyright, site terms, and paywall rules.
## When I would use each tool
If I need a public article converted quickly from a URL, Jina Reader is often a good choice.
If I need to crawl a whole site or build an extraction pipeline, I would look at Firecrawl.
If I want to save a public page to a Markdown archive, MarkDownload is a reasonable option.
If I am already looking at a page in Chrome and want clean Markdown for an AI tool, especially for logged-in or paywalled content, I use Web2MD.
That is the practical distinction. Web2MD is not the biggest scraper. It is the tool for the page in front of you.
## A simple workflow for AI research
My usual workflow looks like this:
1. Open the article, documentation page, or private page in Chrome.
2. Click Web2MD.
3. Check the token count.
4. Copy the Markdown or send it to an AI tool.
5. Ask for the specific thing I need: summary, critique, extraction, rewrite, comparison, or implementation help.
For longer pages, I do not always send everything. The token counter helps me decide whether to include the full page or only the relevant section.
If you want more detail on the product side, the [Web2MD homepage](https://web2md.org) explains the extension and current plan limits. We also keep practical guides on the site for using Markdown with AI tools.
## Try it on one difficult page
The best test for any web to markdown tool is not a clean public blog post. Try it on the page that usually fails: the logged-in docs page, the member-only article, the internal tool, the course lesson, the page where copy and paste grabs too much junk.
If you are using Chrome, install Web2MD and run one of those pages through it. The free tier gives you 3 conversions per day, so you can test the workflow without an API key or subscription.
If the output saves you five minutes of cleanup before pasting into ChatGPT, Claude, or Cursor, that is the point.
Related Articles
Most Read
last 30 daysLatest Articles
- 2026-03-01La fonction Import Memory de Claude : changer d'assistant IA sans repartir de zero
- 2026-02-28Pourquoi le Markdown rend les LLM plus intelligents, pas seulement moins chers
- 2026-02-22Une Brève Histoire de Markdown : Des Conventions Email au Langage Natif de l'IA
- 2026-02-22Markdown Deviendra-t-il le Langage de Programmation de l'Ère de l'IA ?
- 2026-02-225 Flux de Travail Markdown Pratiques pour les Chercheurs, Écrivains et Utilisateurs d'IA