AI Token Waste: How to Stop Paying for Menus, Ads, and Broken Web Copy
AI Token Waste: How to Stop Paying for Menus, Ads, and Broken Web Copy
AI token waste is what happens when you paste a web page into ChatGPT, Claude, Cursor, or another AI tool and pay for everything except the part you actually wanted.
I have done this more times than I want to admit.
I copy an article, a docs page, a changelog, or a support thread. Then I paste it into an AI chat and ask for a summary, rewrite, extraction, or comparison. The model spends part of its context window on cookie banners, nav links, sidebar labels, footer text, related posts, tracking junk, and repeated headings. Sometimes the main article is still there, but it is buried inside a pile of noise.
That noise costs tokens. It also makes answers worse.
This post is about a simple fix: convert web pages to clean Markdown before sending them to AI tools. I tested this workflow while building and using Web2MD, a Chrome extension that turns the current page into Markdown in your browser, counts the tokens, and lets you send the result to AI with one click.
It is not magic. It will not make a bad article useful. It will not bypass legal access restrictions. It is Chrome-only, the free tier allows 3 conversions per day, and Pro is $9 per month. But for the specific problem of AI token waste, it is one of the highest-leverage changes I have made to my own workflow.
What is AI token waste?
A token is a chunk of text an AI model reads or writes. It is not exactly a word, but for practical purposes, more text means more tokens.
AI token waste is any token you send to a model that does not help with the task.
Common examples:
- Site navigation
- Cookie notices
- Login prompts
- Ads and sponsorship blocks
- Related article widgets
- Footer links
- Repeated menu items
- Inline SVG or script debris
- Broken copy-paste formatting
- Comments or metadata you did not intend to include
If you are using an AI tool with a limited context window, token waste can push the useful part of the page out of context. If you are using a paid API or metered product, it can also increase cost.
Even when you are not directly paying per token, waste still matters. It makes the model work harder to identify the source material. That can lead to shallow summaries, missed details, or answers based on boilerplate instead of the content you cared about.
The copy-paste problem
Here is a simplified version of what I often see when copying from a normal web page:
Home
Products
Pricing
Blog
Sign in
Subscribe to our newsletter
# How to Reduce AI Token Waste
AI tools read text in chunks called tokens. When you paste a full web page
without cleaning it first, the model may process menus, ads, sidebars, and
footer links before it reaches the useful content.
Related posts:
- 10 AI tools for teams
- How to write better prompts
- Our product update
Privacy Policy
Terms
Contact
The actual article is in there, but it is surrounded by junk. On a long page, this problem gets much worse.
Now compare that with the kind of Markdown I want to send to an AI tool:
# How to Reduce AI Token Waste
AI tools read text in chunks called tokens. When you paste a full web page
without cleaning it first, the model may process menus, ads, sidebars, and
footer links before it reaches the useful content.
The simplest fix is to extract the main content, preserve the heading
structure, and remove repeated site chrome before sending the text to an AI
assistant.
That second version is easier for the model to use. It is also easier for a human to inspect before sending.
Why Markdown helps
Markdown is a good format for AI input because it keeps structure without carrying the messy parts of HTML.
A clean Markdown version of a page usually preserves:
- Headings
- Paragraphs
- Lists
- Links
- Code blocks
- Tables when possible
- Article structure
And it usually removes:
- Layout markup
- Navigation
- Tracking scripts
- Styling
- Repeated template text
This matters because AI models respond well to structure. A heading tells the model what a section is about. A list remains a list. A code block remains code. You get enough context for the model to understand the page without making it read the entire website frame.
I use this when sending docs to Cursor, summarizing articles in Claude, and asking ChatGPT to extract action items from long pages. The cleaner the input, the less prompt engineering I need.
Where Web2MD fits
Web2MD is a Chrome extension for converting the current web page into clean Markdown for AI tools.
The important detail is that Web2MD runs in your browser.
That means it can work on pages you can see in your browser, including logged-in pages, private dashboards, internal docs, and paywalled pages you have legitimate access to. Server-side readers often cannot reach those pages because they are not logged in as you.
Web2MD also includes:
- Local browser-side conversion
- A built-in token counter
- One-click send-to-AI
- A free tier with 3 conversions per day
- No API key requirement for the free tier
- Pro at $9 per month
The token counter is the part I use most often. Before I send a page to an AI tool, I can see roughly how large the Markdown output is. If it is too big, I can decide whether to trim it, split it, or only send a section.
That small pause prevents a lot of waste.
How it compares with other tools
There are good tools in this space, and the right choice depends on the job.
Jina Reader is useful when you want a fast server-side readable version of a public URL. It is simple and works well for many articles. The limitation is access. If the page requires your browser session, a login, or a subscription, a server-side fetch may not see what you see.
Firecrawl is strong for crawling, scraping, and developer workflows. If you need to collect many pages, build a pipeline, or call an API from code, it can be a better fit than a browser extension. But that also means setup, API usage, and a different privacy model.
MarkDownload is a solid Markdown clipping extension. It is useful if your main goal is saving pages as Markdown. Web2MD is more focused on AI handoff: clean conversion, token counting, and sending the result to tools like ChatGPT, Claude, and Cursor.
So the comparison is not that one tool is always better. It is about the use case.
If you need crawling, use a crawler. If you need a public page reader, Jina Reader is convenient. If you need to convert the page you are currently viewing, including authenticated content, and you care about token count before sending it to AI, Web2MD is built for that.
A practical workflow to reduce token waste
Here is the workflow I use:
- Open the page in Chrome.
- Read enough to confirm it is the right source.
- Run Web2MD.
- Check the Markdown preview.
- Look at the token count.
- Send to ChatGPT, Claude, or Cursor only if the output is worth it.
This sounds basic, but the preview step matters. I do not want to blindly send scraped text to an AI model. I want to see what is included.
For example, if I am converting documentation, I check whether code blocks survived correctly. If I am converting a logged-in app page, I check whether sensitive data is included before I send it anywhere. Browser-side conversion helps with privacy, but it does not remove the need for judgment.
Local and private does not mean you should send secrets to an AI model. It means the conversion step itself does not require handing the URL to a remote reader.
When this does not help
Clean Markdown will not solve every AI context problem.
It does not help much when the source page is already short and clean. It also does not fix inaccurate content, missing context, or a vague prompt. If the page is a complex web app with dynamic widgets and little readable text, extraction may be imperfect.
Web2MD is also currently Chrome-only. If your workflow is centered on Safari or Firefox, that is a real limitation. The free tier is intentionally small at 3 conversions per day, so heavy users will likely need Pro at $9 per month.
I think those tradeoffs are acceptable for my workflow, but they are still tradeoffs.
Internal pages, docs, and AI coding tools
The biggest improvement for me has been with technical pages: internal documentation, GitHub issues, product specs, and API docs.
When I send raw pages into AI coding tools, the model often gets distracted by surrounding UI. When I send clean Markdown, it usually focuses faster.
For related workflows, see our guides on converting web pages to Markdown and sending web pages to ChatGPT. If you are evaluating whether the daily free limit is enough, the pricing page has the current plan details.
The bottom line
AI token waste is not just a cost problem. It is a context quality problem.
If you send a model a messy page, you are asking it to separate signal from noise before it can help you. Sometimes it succeeds. Sometimes it summarizes the wrong thing. Sometimes it burns context on text you never meant to include.
Converting web pages to clean Markdown is a simple habit that reduces that waste.
Web2MD is one way to do it, especially when the page is visible only inside your browser, when privacy matters, or when you want to check token count before sending content to an AI tool.
If you want to try the workflow, install Web2MD, convert a page you would normally paste into ChatGPT or Claude, and compare the Markdown output before you send it.
Related Articles
Most Read
last 30 days- #1Can Claude Read Reddit? Why It Can't — And How to Fix It (2026)
- #2HTML vs Markdown for LLMs: I Wasted 67% of My Tokens for a Year
- #3Reducing Token Waste in ChatGPT and Claude: 7 Techniques That Cut Costs 72%
- #4Obsidian Web Clipper Official Plugin 2026: Complete Guide + When You Need More
- #5Reddit JSON API vs Scraping: The Honest 2026 Comparison for Developers
Latest Articles
- 2026-10-12Any to markdown: how I convert web pages into clean Markdown for AI
- 2026-09-28Cadillac Chrome Obsidian: A Cleaner Chrome to Obsidian Workflow
- 2026-09-28ChatGPT Work Token Usage: How I Cut Web Pages Down Before Pasting Them
- 2026-09-28Markdown online: how I convert web pages cleanly for AI tools
- 2026-09-21Claude Cant Read Pasted Text? Convert the Page to Clean Markdown First