A Chrome extension that turns web pages into clean Markdown — with first-class support for SharePoint. Copy, download, save into a local knowledge vault, or capture reusable collections while preserving their structure.
Release candidate: 1.1.0. The automated suite, lint, release validation, and store-asset validation pass. Complete the browser verification checklist before publishing. See CHANGELOG.md for the full release history.
- Capture the active page as Markdown — copy to clipboard, download a
.mdfile, or open the Markdown in a new tab. - Know what is already clipped — a compact header indicator shows whether the current URL was saved before and whether its normalized visible Markdown appears current or changed.
- SharePoint-aware — scrolls to trigger lazy-loaded sections and uses a scored content-root finder to skip chrome/navigation and keep the real page content. Full-action loading runs only when needed, so opening the preview does not visibly scroll the page.
- Saved collections — save SharePoint, Confluence, general websites, or custom URL lists; refresh inventories to detect changes without duplicates; and export one inventory or all collection metadata as CSV.
- Local Collections Library — choose one local root and sync each saved collection into its
own type/name folder as normal Markdown files with
index.md,collection.json, and a non-destructive sync report suitable for LLMs, desktop search, backup, or sharing. Incremental sync skips unchanged files, multi-host lists stay grouped by host, and a root catalog links all synced collections. Collection rows distinguish verified library copies from snapshots in Chrome Downloads; verified collections can be safely moved to a new subfolder while their stored path and popup indicator stay current. - Works on any page — general webpages use Mozilla Readability article extraction, with a full-page fallback. A capture mode setting (auto / sharepoint / article / full) lets you override.
- Front matter & templating — emit YAML front matter (or a plain list, or nothing), or
define your own note + filename templates with
{{variable|filter}}substitution ({{title}},{{author}},{{date}},{{meta:…}},{{schema:…}},{{selector:…}}), inspired by the Obsidian Web Clipper. - Capture a collection — bring in URLs from TXT, CSV, or XLSX; discover them from a sitemap,
llms.txt, saved collection, or same-site crawl; then save the collection, export a combined Markdown document (the default), a structure-preserving ZIP, or sync it locally. Host access is requested per-site, only when you start. - Flexible surfaces — use the toolbar popup, Chrome side panel, or a draggable/resizable in-page panel; selection clipping is also available from the context menu.
- Knowledge vault workflow — save clips to a chosen local folder, maintain a wiki-style index, apply deterministic tag rules, and generate prompts from the local clip log.
- Site-aware capture — adapters for SharePoint and Confluence plus cleaner X/Twitter post, quote, article-preview, and author-thread capture.
- Local and private — all conversion happens in your browser. No backend, no analytics, no remote code. See PRIVACY.md.
npm install(first time only — pulls dev tooling and vendored libraries).npm run vendor(first time only — writes the bundled libraries intoextension/src/vendor/).- Open
chrome://extensions, enable Developer mode, choose Load unpacked, and select theextension/folder (not the repo root).
| Command | What it does |
|---|---|
npm test |
Run the node --test suite. |
npm run lint |
Lint extension/src with ESLint. |
npm run release:check |
Run tests, lint, and manifest/release validation. |
npm run store:prepare |
Capture, label, generate, and validate the Chrome Web Store artwork. |
npm run store:promos |
Regenerate promo tiles and the GitHub social image only. |
npm run store:check |
Validate final Chrome Web Store asset names and dimensions. |
npm run vendor |
Regenerate extension/src/vendor/ from node_modules. |
The extension ships from extension/; everything else (tests, lint, scripts) is
dev tooling. See docs/DEVELOPMENT.md for architecture and
docs/TESTING.md for the manual smoke-test checklist.
Markdown Clipper processes user-selected pages locally and has no developer backend, account, analytics, advertising, or remote code. Collection workflows request access to the selected site origin only when needed. Read the complete privacy policy, Chrome Web Store listing copy, and publishing checklist.
Issues and feature requests are welcome in the GitHub issue tracker.
Source-available under the PolyForm Noncommercial License 1.0.0. Bundled third-party libraries keep their own licenses — see NOTICE.md.


