Save any web page exactly as you saw it.
A privacy-first Chrome extension that captures the live page to a pixel-faithful PDF.
No cloud. No account. No analytics. Nothing ever leaves your machine.
Home & try it → knackmentor.com/webclip
You press Print → Save as PDF, and the page comes out wrong. The layout reflows, a chart disappears, a web app renders half-empty, the colours shift. That happens because the browser re-renders the page through its print stylesheet, which was never meant to match your screen.
WebClip takes a different path. It captures the pixels the browser actually rendered, so the file you save looks like the page you were reading. A dashboard, a long chat thread, a styled article, a receipt: it comes out the way you saw it.
The KnackMentor article Save the web exactly as you see it, saved with WebClip: charts, layout and typography preserved.
- Capture the visible area, or the entire scrollable page. WebClip scrolls and stitches long pages seamlessly, including inner panels in web apps like chat feeds, mail, and docs.
- Choose your output. Auto gives you one continuous page that reads like the screen. A4 or Letter gives you print-ready pages with content-aware breaks that split at the whitespace between paragraphs and never cut through a line, a table row, or a coloured bubble.
- Keep your links. Real links on the page (http, mailto, tel) travel into the PDF as genuine clickable annotations.
- Re-paginate later. Turn a saved Auto capture into printable A4 or Letter pages after the fact, as a clean PDF-to-PDF split.
- Capture just one section with the section picker, and add an optional header/footer stamp (title, URL, capture time, page number).
- Evidence Mode records the URL, title, capture time, and a detached SHA-256 checksum alongside the file. The semantics stay honest: it is a local clock and a local hash, never dressed up as a trusted timestamp.
- Declutter for capture. Ads, cookie bars, and sticky widgets are suppressed in the captured output using page heuristics, with no network filtering and no broad permissions.
Your scroll position and the page itself are always restored after a capture, whether it succeeds, fails, or you cancel.
This is the part that matters most, so it is worth being precise.
-
Everything runs on your device. Screenshots, URLs, page content, and metadata are processed locally and never uploaded.
-
No analytics, no telemetry, no accounts. There is nothing to sign into and nothing phoning home.
-
The smallest useful permission set. The shipped extension requests only these, and deliberately does not request
<all_urls>ordebugger:Permission Why it is needed activeTabRead the current tab only when you click WebClip. Access is granted by that click and released after. scriptingInject the capture logic into the page you are capturing. downloadsSave the finished PDF to your Downloads folder. storageRemember your preferences (paper size, layout) between sessions. -
Open source, so you can check. Everything above is verifiable in this repository. Read the code, read the security policy & threat model, or build it yourself. See PRIVACY.md for the full statement.
Install: WebClip is on the Chrome Web Store — one click, no build needed. Prefer to build it yourself? Run it from source in under a minute:
git clone https://github.com/andrewmichelis/webclip.git
cd webclip
npm install
npm run build # builds the unpacked extension into dist/Then open chrome://extensions, turn on Developer mode, choose Load unpacked, and select the dist/ folder. Pin WebClip to your toolbar and you are ready to capture.
WebClip is a Manifest V3 extension with a shared capture core and pluggable output engines. The core resolves the active tab, prepares and restores the page, and handles decluttering and section selection. The PDF engine composites the captured tiles and lays them out, either as one continuous page or as printable pages with content-aware breaks. It is a screenshot pipeline, faithful to the rendered page, not a print-to-PDF re-render.
Quality is verified, not asserted: 51 unit tests plus a headless browser harness that drives a real capture end to end and checks the output PDF (page geometry, break placement, and that every link is both injection-safe and actually clickable). That harness runs before any release.
For the full picture, see ARCHITECTURE.md.
WebClip is built and maintained by Andrew Michelis, a PMP systems-integration practitioner, and released under his practice, KnackMentor. It is meant to reflect how every KnackMentor engagement is run: privacy respected by default, claims kept honest, and the work verified before it ships. If WebClip earns a place in your workflow, that is the standard you can expect from the practice behind it.
Found it useful? A star on this repo genuinely helps, and feedback is always welcome via Issues.
| Stage | Scope |
|---|---|
| v1 | Engine A: visible and full-page capture, one-page and printable multi-page PDF, page restoration, clickable links, section picker, Evidence Mode. |
| v1.x | Engine B: extract the main content to clean Markdown, pull images through as real files, and hand off to markdown-desk. |
| v2 | Advanced capture engine (Chrome DevTools Protocol), optional trusted timestamping, MHTML archival. |
Issues and pull requests are welcome. To work on WebClip:
npm run typecheck # TypeScript, strict
npm test # unit tests (Vitest)
npm run build # bundle into dist/Please keep changes covered by tests, and preserve the permission set above (it is a hard constraint, not a preference).
Apache License 2.0. Copyright 2026 Andrew P. Michelis (KnackMentor). See LICENSE.

