A 'Save As' that still works six months later
Kage, a small Go command line tool, opens a webpage using Chrome in the background, strips the JavaScript, and bundles the result into a folder of plain HTML you can open straight from disk.
Kage, a small Go command line tool, opens a webpage using Chrome in the background, strips the JavaScript, and bundles the result into a folder of plain HTML you can open straight from disk.
You saved a page before a flight. Six months later, on another plane, you tap the file and get a blank white rectangle. The spinner never resolves. The headline and the pictures never show up.
The reason is dull and predictable. Most modern pages do not render until JavaScript runs, and the file your browser hands you from Save Page As is just the unrendered shell. Open that shell on a different machine, with no network and no live scripts, and the page you remember simply is not in the file.
Kage, a small Go project by developer tamnd, works around that failure in a specific way: it opens the page in a real headless Chrome, waits for it to finish loading, snapshots what a human would actually see, and only then removes the JavaScript and rewrites the page so its CSS, images, and fonts live on your local disk. The result is a folder of plain HTML that opens straight off disk, runs no code, and still looks like the live page did. That ordering, render first and strip second, is the design choice that makes the tool work where Save As does not.
The pipeline, as laid out in the Kage repository on GitHub, runs through clearly named stages. A clone step fetches the page. A sanitize step strips scripts and rewrites paths so the offline copy can navigate to its own subpages. A pack step bundles the folder into a single binary that includes an in-process viewer. Top-level folders for browser, viewer, and zim in the Kage source tree suggest the project also knows how to render with a real browser engine and can optionally emit the ZIM format used by the Kiwix offline reader.
The pack feature is the part that matters for anyone thinking about long-term storage. A normal saved folder is fragile. Files drift, paths break, and a reader five years from now may not have the right browser. Kage can fold the snapshot, the stripped HTML, and a small viewer into one binary that opens to the saved page with a double click. It is not a Wayback Machine replacement, and it does not crawl, schedule, or recrawl. It is a way to put one specific page, the one you actually wanted, into a form you can hand to your future self.
That scope matters. Kage runs as a local command-line tool on your own machine. It depends on a real Chrome or the project's container image, so the snapshot is only as faithful as Chrome's rendering. It will not save a site that depends on a logged-in session, and it will not chase broken links into other domains. For a single article, a documentation page, a recipe, or a longread you want to keep, that is the right tool and the right size. For institutional web preservation, the answer is still the Internet Archive.
The honest ceiling is also the honest case for the tool. Pages break because the web is built for live execution, and a static file cannot run a live script. Kage's answer is to do the live execution once, on your machine, in a real browser, and keep only the result. If you have ever lost a page that mattered to you, the design is small enough to understand in a paragraph and durable enough to trust with one.