Browser extension (Chrome & Firefox). Clip precise web context into AI-ready Markdown.
Not just another web-to-Markdown converter. ContextClip is a precision tool for feeding local LLMs.
Text-only LLMs need clean context, not whole pages. You want three paragraphs from a GitHub README, one section from a paper, one clean chat transcript, or a selected block from a private page, without nav, ads, comments, or layout junk.
Everything runs entirely in your browser. No server. No API key. No page data leaving your machine. Works on login-required pages that server-side fetchers can't reach.
One click. Pull the main content, clean the noise, attach source metadata, copy Markdown.

Need only one section, code block, or table:
- Hover + click — pick one semantic block
- Drag a rectangle — capture an exact visual area
Picked content also goes through site-specific cleanup when available.
- Text-first pages →
.md - Media-heavy pages →
.zipwithpage.md+manifest.json+assets/
Every result includes YAML frontmatter: title, source URL, site, author, captured time, and extraction mode.
Chat pages are exported as structured turns:
# Conversation Title
## user
Question here...
## chatgpt
Answer here...General extraction works on any page via Readability. Deeper cleanup for:
- arXiv — full paper via HTML endpoint, metadata via API, abs-page fallback, page + picked fragments
- Chat web — ChatGPT, Gemini, DeepSeek conversation transcript export, code fence cleanup, user/assistant turn structure(now we can easily save ours conversations)
- GitHub — README, rendered docs, single file views, page + picked fragments
- 微信公众号 — article body, author, title, page + picked fragments
- 知乎 — column posts, answers, page + picked fragments
Quality over coverage. Better to trust a few adapters than ship thirty weak ones.
Store listings will be added here. Use blow options for now.
- Open the latest release on GitHub
- Download
contextclip-extension-xxx.zip - Unzip it to a local folder
- Open
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select the unzipped folder
pnpm install
# Chrome / Edge
pnpm build
# Firefox
pnpm build:firefoxChrome / Edge:
- Open
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select
dist/
Firefox:
- Open
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select any file in
dist/(e.g.manifest.json)
- Click extension icon
- Click Copy This Page
- Preview the generated Markdown
- Markdown is copied immediately
- Use Download File or Download ZIP if you want to save it locally
- Click extension icon
- Click Pick & Extract
- Hover + click to pick a block, or long-press + drag to draw a rectangle
- Use the floating toolbar to Copy or Download
- Right-click to deselect and pick again, Esc again to quit
| Action | Effect |
|---|---|
| Click a block | Select that block |
| Long-press + drag | Draw a rectangle to select area |
| Right-click (with selection) | Deselect, return to hover mode |
| Right-click (no selection) | Exit selection mode |
| Esc (with selection) | Deselect, return to hover mode |
| Esc (no selection) | Exit selection mode |
---
title: 'Example Page'
source_url: 'https://example.com/page'
site: 'example'
author: 'Author Name'
captured_at: '2026-04-28T10:45:13.901Z'
mode: 'selection'
selection_hint: 'article'
---
Page content here...For media-heavy pages:
page-export/
page.md
manifest.json
assets/
LLMs are good at reasoning over clean text.
Web pages are not clean text.
ContextClip sits between them.
pnpm install
pnpm dev # Chrome / Edge (watch mode)
pnpm dev:firefox # Firefox (watch mode)pnpm test:golden
pnpm test:golden:update
pnpm bundle:ext # Chrome package
pnpm bundle:ext:firefox # Firefox packageWatches source and rebuilds dist/. After each rebuild:
- Open
chrome://extensions(Chrome) orabout:debugging(Firefox) - Find ContextClip
- Click reload
- Refresh target page if content script changed
