Chrome extension that converts webpages to clean Markdown in one click. MD, JSON, or Claude XML. Token-aware. Built for LLM workflows.
Install in 3 steps
Get the ZIP from GitHub releases and unzip it
Open chrome://extensions/ → Developer mode → Load unpacked
Visit any page → click castmd → choose output → paste into your model
→ chrome://extensions/ → Enable Developer mode → Load unpacked
From a single article to your entire research session — castmd handles it.
Bold, italic, links, and inline code survive the conversion. Markdown that reads like the original page.
Exact token estimates after every conversion. Know before you paste whether the content fits your context window.
Instant fit check against gpt-4, gpt-4o, Claude, and Gemini. Green chips for fits, greyed-out for over limit.
Merge every open tab into one Markdown session document. Capture your entire research context in a single paste.
ARIA-role content detection skips nav, sidebars, and footers automatically. Full GitHub README support included.
Review and tweak converted output before copying or saving. Edit inline, then re-copy or re-save in one click.
Pick the output format that your model or workflow expects.
# Getting Started with castmd **castmd** converts any webpage to clean Markdown for LLM workflows. ## Features - Token counting - Model fit display - All-tabs export
{ "title": "Getting Started", "url": "github.com/...", "markdown": "# Getting...", "tokens": 2418 }
<document> <source>github.com/...</source> <document_content> # Getting Started **castmd** converts any webpage... </document_content> </document>
From any webpage to your model in four clicks.
Load the extension in Chrome developer mode — no Chrome Web Store required.
Navigate to any page — docs, articles, GitHub READMEs, research papers.
Click the popup, choose MD, JSON, or XML, then copy or save.
Drop it into your model. Token count tells you exactly what fits.
castmd uses semantic HTML detection — main, article, [role="main"], and content-density analysis as a fallback. It works on most content sites, documentation, and GitHub READMEs. Dynamic SPAs may need a moment to fully load before casting.
The XML mode wraps content in Anthropic's <document> format — the same structure used in Claude's multi-document prompting API. Paste it directly into a Claude conversation or system prompt for structured context injection.
No. castmd runs entirely in your browser. No server, no analytics, no tracking. Conversion happens in the content script injected into the active tab. Nothing leaves your machine.
castmd injects a content script into each open tab, converts the page content to Markdown, then concatenates all pages into a single document separated by horizontal rules and page titles. The token count reflects the full combined document.
castmd estimates tokens as ceil(characters / 4) — a good approximation for English-language LLM tokenizers. It then compares against known context limits: gpt-4 (8k), gpt-4o (128k), Claude (200k), Gemini (1M).
Ctrl+Shift+M on Windows/Linux, Cmd+Shift+M on Mac. You can also right-click any page and choose "Copy page as Markdown" from the context menu.