v0.9.0 · Free · Developer Tools
PageBundle is a Chrome extension that crawls a website starting from your current tab and saves every page as a high-quality vector PDF, bundled into a single ZIP. Runs entirely in your browser — no servers, no uploads, no accounts. Powered by Chrome's built-in Page.printToPDF engine for true vector output with selectable text and crisp typography.
Awaiting Chrome Web Store review — the install link activates the moment it's approved.
What PageBundle can do.
Start from any tab and let PageBundle follow every internal link up to a depth you control. Capture entire documentation sites, blogs, or knowledge bases in one click.
Uses Chrome's built-in Page.printToPDF engine — the same one DevTools uses — to produce real vector PDFs. Text is selectable, graphics stay crisp at any zoom, and file sizes stay small.
All captured PDFs are packaged into one downloadable ZIP archive — no manual file management, no scattered downloads, just one file with everything you crawled.
Set crawl depth (0 to many levels deep), page caps (default 25, up to 1000), and choose whether to stay on the same domain or follow external links.
Crawls use your existing browser session — no extra logins needed. If you're signed into a site, PageBundle can capture it. No credentials are stored or shared.
Zero network requests of its own. All crawling, rendering, PDF generation, and ZIP creation happens locally in your browser. Your data never leaves your machine.
From click to download in five steps.
Click the PageBundle icon in your toolbar on the website you want to bundle. The popup reads the current URL as the crawl starting point.
Choose 'Crawl all reachable pages' for unlimited mode, or set a page cap. Pick crawl depth (default 2) and whether to stay on the same domain.
A dedicated progress tab opens. PageBundle opens each URL in a hidden background tab and captures it as a vector PDF using Chrome's print engine.
The progress UI shows captured pages, file sizes, elapsed time, and filterable per-page status. You can pause or cancel at any moment.
When the crawl finishes, hit 'Download ZIP'. Every captured page is in there as a vector PDF, organized and ready to share or archive.
Every Chrome permission this extension requests, and exactly why it needs it.
activeTabReads the URL and title of the active tab when you click the extension icon — so PageBundle knows which site to start crawling from. No tab content is read until you click 'Start crawl'.
tabsOpens each URL to capture in a new background tab, waits for it to finish loading, then closes it after the PDF is captured. Drives the per-page capture lifecycle.
scriptingInjects small helper functions to (1) extract internal links and page titles, (2) block clicks during capture, and (3) force lazy-loaded content into view. All injected code is bundled inside the extension — no remote code.
debuggerUses Chrome DevTools Protocol's Page.printToPDF API to generate true vector PDFs. The debugger session is opened only on capture tabs and detached the moment each tab closes.
host_permissions: <all_urls>Required because PageBundle must work on any website you choose. The wildcard is used only on tabs you explicitly told the extension to crawl — no background scraping, no automatic visits.
The full tech stack powering this extension.
I build privacy-first browser extensions and developer tools. Let's chat about your idea.