Website Copier

Download pages from sites you own or may copy as HTML, CSS and images in one static ZIP. Save a front-end backup, prepare a move to static hosting, or keep an archive for offline reading.

Create your website archive

No install. No setup. Free to try.

Copy only sites you own or have permission to archive. See permissions.

What you get back

A website archive is a set of files, not a screenshot or the original project. The capture starts at your URL, collects reachable pages within your scope and packages the available front-end resources into a static ZIP you can inspect, keep and serve anywhere. Results depend on the site's responses, resource availability and capture budgets. The report shows what was and was not saved.

  • HTML you can keep

    Captured HTML, CSS, images and fonts. HTTP mode can also keep referenced JavaScript; JS-rendered mode saves the browser's DOM as static HTML without page scripts. Neither exports an editable builder project, source code, server code or database.

  • Links that travel with the files

    Links between saved pages and assets are rewritten to local paths, and a route manifest maps captured URLs to files in the ZIP. Out-of-scope links stay online and missing assets are not rebuilt, so test on a local static server first.

  • A ZIP and a clear report

    Every ZIP includes report.json and the pagehunt-export.json route manifest, listing delivered files plus missing, failed or skipped resources with safe reason codes. A partial result is not a complete-site guarantee; review the report, not just the status.

Try a real sample ZIP from our own SPA test site. It contains a static export and a redacted capture report, not a rebuilt application. Operational paths and identifiers are removed.

Download fixture ZIP

One page or a linked set of pages

Start with a representative page. Depth zero saves only the starting page; higher depths follow more link levels up to your page limit. Reachable links, allowed hosts and path rules define the scope, so hidden routes, unlinked pages and logged-in content are not included. The workspace adds host and include/exclude path controls when you need a narrower archive. Check the page list and adjust the next capture.

Copy a website

HTTP or JS-rendered: choose the right capture mode

  • HTTP for server-delivered pages

    Use HTTP when the first response already contains the useful HTML, as with most blogs, docs and marketing sites. It saves HTML and referenced resources without a browser. Resource discovery finds extra asset references but does not execute JavaScript or replay APIs.

  • JS-rendered for client-side content

    Use JS-rendered mode when a page builds its content in the browser. A cloud browser loads and scrolls the page, then saves the observed DOM and assets. The export is static: scripts are removed, APIs are not replayed, and content behind clicks or logins may be missing.

  • Test one representative page

    Compare a small capture with the source first. If HTTP returns an empty app shell, switch to JS-rendered mode; if content already arrives as HTML, HTTP is faster and more predictable. Rendering cannot bypass site restrictions, and unsupported options are disabled rather than silently ignored.

How to download a website in three steps

  1. Paste the URL

    Enter a public HTTP or HTTPS URL, choose HTTP or JS-rendered mode and sign in to start; your pending URL and mode are kept through sign-in. Check your plan allowance, and use the workspace form for page, depth or path rules beyond the defaults. Start small.

  2. Preview the crawl

    Follow the job's progress, then inspect the saved-page list and capture report. The static preview appears when the archive passes delivery and preview checks. It shows pages already captured, not proof that every link was followed, so investigate partial results first.

  3. Download the ZIP

    Download the ZIP while its window is open and keep the report with it. Extract it, serve it with a local static server, and test the start page, a nested route, images, fonts and internal links. Treat downloaded scripts as untrusted; deployment and domains are up to you.

Practical migration, backup and offline workflows

  • Migration

    Leaving a website builder? Capture a landing page and an interior page, compare them with the live site, then expand the scope. Upload the ZIP to a staging static host, test nested routes and redirects, rebuild forms or checkout separately and switch the domain last.

    Website migration guide
  • Backup

    Before a redesign or hosting change, save a dated snapshot of the published front end and keep the ZIP and report together. It records published content and layout; keep CMS exports, database dumps and uploads with your own backup tools.

    Website backup guide
  • Offline reading

    For documentation or reference material, start at the relevant page and limit the scope to the sections you need. Serve the extracted ZIP locally and test it offline; downloaded images and fonts load locally, while embedded video and remote search may not. Note the capture date and source URL so you know which version you are reading.

    Save as HTML guide

Private downloads and explicit security boundaries

  • Owner-only access and retention

    Capture details, reports and ZIP downloads require the owning account; there are no public sharing links. Downloads stay available for 30 days after completion, subject to delivery and entitlement checks. Deleting a capture removes it from your account.

  • A sandboxed static preview

    The in-app preview is for reading captured content, not running the source application. It renders in a sandboxed iframe with scripts, forms and external requests blocked. Large pages may exceed preview limits, and the preview does not sanitize the downloadable archive.

  • Public-network capture only

    URL and redirect checks reject credentials, unsupported ports and private or reserved destinations, and network filtering restricts every engine and browser connection. The crawler follows each site's robots.txt by default; these controls do not decide content rights.

What a static archive cannot replace

Neither mode exports server-side code, databases, CMS administration, private uploads or login-protected pages, and we never accept a site's login cookies or credentials. Forms, checkout, logins and search need working services of their own; plan those migrations separately.

Dynamic API responses are not replayed offline. HTTP archives may keep scripts that call the original site, while JS-rendered archives remove scripts. Lazy content, embedded media and out-of-scope pages can be missing, so check the report and test on staging before going live.

Start free — 2 copies a month

Start with 2 copies per UTC calendar month, 1 page per copy and depth 0, no credit card. Free delivers a real ZIP when a capture is eligible, not just a preview. Allowances reset each UTC month, including on yearly plans; choose a paid plan for larger archives or more snapshots.

Free: $0 — 2 copies/month, 1 page each, depth 0. PRO: $19.90/month or $99/year — 50 copies/month, up to 200 pages, depth 5. Unlimited: $29.90/month or $149/year — no plan copy, page or depth cap; safety caps apply. All prices are in USD.

Unlimited means no plan quota for copies, pages or depth, not an unlimited job. Default safety limits are 1000 pages, depth 20, 200 MiB and up to 24 hours per capture, with 1 active job per account. Server limits may be lower; the capture form shows your effective limits.

Frequently asked questions.

General

Capturing

Billing & plans

Privacy & permissions

Found a site to archive? Paste the URL.

Start with Free: 2 copies per month, 1 page each. No card required.

View pricing