database · sessions · carts
Server behaviour
Forms, logins, carts, search and anything backed by a database stay behind on the original server. You get the rendered page, not the application.
Lifetime is $149 right now · the price steps up every 100 licences
Open a page, press capture. The real fonts, gradients, masks and pseudo-elements come with it — as a standalone HTML file, an editable WordPress page, or a kit a coding agent can build from. Other tools read a screenshot and guess; this one reads the page your browser already rendered.
99.83% pixel match
Already copied and scored
01How it works
The render farm is the browser you already have open. No upload, no queue, no server of ours reading the page. That is also the only reason a lifetime licence can exist.
Before reading anything it loads the lazy images, waits for the real fonts, and runs finite animations and script-driven counters to their end state. Nothing gets captured a third of the way through a reveal.
Every computed declaration, pseudo-element, inline SVG, canvas frame, mask, background asset and @font-face file. The measured truth of the page, not an interpretation of its markup.
One standalone HTML file, a whole crawled site as a linked folder, a one-click .zip, or an AI dev kit any coding agent can rebuild from.
Push draft pages built from sitegrab/section blocks with the captured CSS scoped per section. Move, duplicate or delete bands; the fidelity survives the edit.
02Head to head
SiteGrab, SingleFile, monolith and wget -p -k each take one page. Every copy is then opened with the original server unreachable — how a saved file behaves once a site changes, blocks hotlinking or goes away — and diffed against a screenshot of the live page with pixelmatch. Same pages, same scorer, median of three runs. Three of the eight pages we lose, and those rows are still here.
arthize.comagency site
+0.12 pts on SingleFile
linear.appanimation-heavy marketing
+0.76 pts on monolith
news.ycombinator.comtable layout
-0.45 pts — monolith wins this page
Travlia (WP theme demo)commercial theme
+13.85 pts on monolith
wikipedia.orgcontent-heavy article
-0.12 pts — SingleFile wins this page
stripe.comgradients, heavy JS
+7.09 pts on SingleFile
heyclicky.comliquid-glass SVG filters
+2.55 pts on wget -p -k
tailwindcss.comutility CSS docs
+0.39 pts on SingleFile
best on 6 of 8 pages
6 requests still aimed at the original
best on 1 of 8 pages
0 requests still aimed at the original
best on 1 of 8 pages
365 requests still aimed at the original
best on 1 of 8 pages
554 requests still aimed at the original
Screenshots straight out of npm run bench:rivals — the harness is in the repo, so every number above is yours to re-run. The requests still aimed at the original are assets past our embed budget (large images, video); SingleFile inlines everything at any size, which is why its files score 0 there and lose on pages built out of heavy media.
02bOur own three tiers
A capture leaves as a standalone file, as Gutenberg blocks or as editable sections. All three are scored the same way, desktop and mobile. The bad rows stay in the table.
| Site | Kind | Snapshot bars scaled 90–100% | Editable sections |
|---|---|---|---|
| arthize.com | agency site | 99.71% | 98.38% |
| linear.app | animation-heavy marketing | 99.56% | 99.56% |
| news.ycombinator.com | table layout | 99.54% | 99.54% |
| Travlia (WP theme demo) | commercial theme | 99.41% | 99.41% |
| wikipedia.org | content-heavy article | 96.92% | 96.92% |
| stripe.com | gradients, heavy JS | 96.64% | 96.64% |
| heyclicky.com | liquid-glass SVG filters | 96.55% | 96.55% |
| tailwindcss.com | utility CSS docs | 91.79% | 91.79% |
| average | 26 runs, desktop + mobile | 96.75% | 96.74% |
Imported into a live WordPress 6.9 install, the same captures render at 98.25% (arthize), 97.27% (travlia) and 95.79% (heyclicky). That is within about two points of the standalone rebuild.
03What it cannot do
No tool copies a website whole. The half that lives on someone else's server was never in your browser to be read. Here is exactly where the copy stops.
database · sessions · carts
Forms, logins, carts, search and anything backed by a database stay behind on the original server. You get the rendered page, not the application.
scroll timelines
Script-driven timelines hold the frame they were captured at. Counters and reveals are forced to their end state; a bespoke scroll timeline cannot be.
one viewport per capture
A capture is taken at one viewport and rebuilt at that viewport. Capture mobile separately; multi-breakpoint merging is on the roadmap, not in the build.
iframes stay sealed
YouTube, Maps and other third-party iframes come back as sized placeholders. No extension is allowed to read inside them.
encrypted streams
Protected video never leaves its player. Neither do assets a CDN refuses to serve to a second origin.
your call, your responsibility
The tool copies what your browser already downloaded. Whether you may republish it is your call, and your responsibility.
04Pricing
There is no countdown here and no invented seat count. The lifetime price is read straight from the licence table: every hundred licences issued moves it to the next step, and it never comes back down.
Founders price
Captures run in your own browser, so a lifetime licence costs us nothing to serve. That is why it can exist.
Six clicks to install, one to capture, no card for the free key. Every number on this page is reproducible with npm run bench. Check it before you pay a cent.
$149 lifetime at this step of the ladder — or start free, no card.
Grab it free