Lifetime is $149 right now · the price steps up every 100 licences

Copy any website
in one click.
Every pixel included.

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.

arthize.com as it renders on its own server.
The SiteGrab rebuild of arthize.com opened from a local file, matching the original layout, gradients, headline and floating cards.
Original SiteGrab copy
The SiteGrab side panel: capture modes, the capture report and the export list. 99.83% pixel match
Drag the handle. Left is arthize.com live; right is the file SiteGrab exported, opened from disk.
96.75%average pixel match
26measured runs, desktop and mobile
9sites in the benchmark
4ways out of a capture

Already copied and scored

linear.appstripe.comtailwindcss.comwikipedia.orgnews.ycombinator.comheyclicky.comarthize.comTravlia · WP themeElementor demo

01How it works

Four steps. Nothing ever leaves your browser.

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.

  1. Settle the page

    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.

  2. Read what the browser knows

    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.

  3. Take it in the shape you need

    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.

  4. Edit it in WordPress

    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

We copied the same pages with everything else, then unplugged the internet

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

SiteGrab 99.97%
SingleFile 99.85%
monolith 99.24%
wget -p -k 99.82%

linear.appanimation-heavy marketing

+0.76 pts on monolith

SiteGrab 99.64%
SingleFile 88.28%
monolith 98.88%
wget -p -k 84.2%

news.ycombinator.comtable layout

-0.45 pts — monolith wins this page

SiteGrab 99.55%
SingleFile 95.87%
monolith 100%
wget -p -k 100%

Travlia (WP theme demo)commercial theme

+13.85 pts on monolith

SiteGrab 98.39%
SingleFile 74.64%
monolith 84.54%
wget -p -k 65.99%

wikipedia.orgcontent-heavy article

-0.12 pts — SingleFile wins this page

SiteGrab 99.87%
SingleFile 99.99%
monolith 99.92%
wget -p -k 99.87%

stripe.comgradients, heavy JS

+7.09 pts on SingleFile

SiteGrab 95.85%
SingleFile 88.76%
monolith 49.03%
wget -p -k 56.18%

heyclicky.comliquid-glass SVG filters

+2.55 pts on wget -p -k

SiteGrab 98.7%
SingleFile 81.4%
monolith 71.6%
wget -p -k 96.15%

tailwindcss.comutility CSS docs

+0.39 pts on SingleFile

SiteGrab 98.25%
SingleFile 97.86%
monolith 64.24%
wget -p -k 96.9%

SiteGrab

98.78%

best on 6 of 8 pages
6 requests still aimed at the original

SingleFile

90.83%

best on 1 of 8 pages
0 requests still aimed at the original

monolith

83.43%

best on 1 of 8 pages
365 requests still aimed at the original

wget -p -k

87.39%

best on 1 of 8 pages
554 requests still aimed at the original

A band of the Travlia theme demo as it renders live: three destination cards under an Explore Nearby heading.
The live pagethemexriver.com/wp/travlia, the band where the copies differ most
The same band from SingleFile's copy: the carousel has reset to a different slide and the section above has reflowed.
SingleFile, offlinethe carousel snapped back to its markup state and the band above reflowed
The same band from SiteGrab's copy, matching the live page card for card.
SiteGrab, offlinesame file conditions, the settled state kept

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

What each way out of a capture scores

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.

SiteKindSnapshot bars scaled 90–100%Editable sections
arthize.comagency site99.71%98.38%
linear.appanimation-heavy marketing99.56%99.56%
news.ycombinator.comtable layout99.54%99.54%
Travlia (WP theme demo)commercial theme99.41%99.41%
wikipedia.orgcontent-heavy article96.92%96.92%
stripe.comgradients, heavy JS96.64%96.64%
heyclicky.comliquid-glass SVG filters96.55%96.55%
tailwindcss.comutility CSS docs91.79%91.79%
average26 runs, desktop + mobile96.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

The honest list

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

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.

scroll timelines

Runtime state

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

Responsive reflow

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

Cross-origin embeds

YouTube, Maps and other third-party iframes come back as sized placeholders. No extension is allowed to read inside them.

encrypted streams

DRM and paid media

Protected video never leaves its player. Neither do assets a CDN refuses to serve to a second origin.

your call, your responsibility

Someone else's rights

The tool copies what your browser already downloaded. Whether you may republish it is your call, and your responsibility.

04Pricing

Free to try properly.
Paid once, never again.

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.

Free

$0no card
  • 5 page captures per month
  • Single page per run
  • Standalone HTML + WordPress import
  • One browser
Get a free key

Founders price

Lifetime

$149once · rises to $249
  • Unlimited page captures
  • Whole-site crawl or a pasted list, up to 50 pages a run
  • Fair use: 300 sites a year
  • Three browsers
  • BYOK AI section cleanup and MCP access
  • Every future version of the extension
Start with the free key

Captures run in your own browser, so a lifetime licence costs us nothing to serve. That is why it can exist.

Copy your first site in
the next five minutes.

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.

Grab it free

$149 lifetime at this step of the ladder — or start free, no card.

Grab it free