How to Find What WordPress Theme a Website Is Using (5 Methods)
You found a WordPress site whose design you want to study, copy a pattern from, or pitch a redesign of. The next…
Read articleSkip the install: clone a full site to a ZIP right in your browser, then compare it against HTTrack, wget, and SiteSucker for bigger jobs.
Three ways actually work: a free in-browser tool that needs no install, desktop software like HTTrack or SiteSucker, or a one-line command with wget. If you’re wondering how to download an entire website without touching your terminal, the browser method below gets you a ZIP in under a minute, no download or account required.
wget --mirror --convert-links --page-requisites is the fastest command-line option on Mac and Linux.Yes, downloading a public website for personal, offline use is generally legal under fair use principles, but the content underneath is still copyrighted. Check the site’s robots.txt file and terms of service before crawling, avoid republishing what you save, and slow your requests down so you don’t hammer someone’s server.
Here’s the thing people skip: copyright protects the words, images, and code on a page, not your right to view them offline. Saving a copy of a public recipe blog for a camping trip is fine. Downloading a competitor’s entire product catalog and reposting it is not, that’s a copyright and possibly a trademark problem.
Before you crawl anything at scale, check example.com/robots.txt. Most sites list a Disallow section that tells automated tools which paths are off-limits. It’s not legally binding on its own in most jurisdictions, but ignoring it is a fast way to get your IP address blocked, and some terms of service explicitly forbid scraping, which turns “against the rules” into “against a contract you agreed to.” A few practical rules of thumb:
This is the method most people actually want when they search for how to download an entire website, and it’s the one every other guide on this topic skips. Pixellize’s Website Clone tool runs entirely in your browser: paste a URL, pick what to grab, and it downloads the page’s HTML, rewrites every internal link and asset path to point at local files, and hands you a ready-to-open ZIP. Nothing installs on your computer and nothing you clone is stored on a server.
I use this one first almost every time now, mostly because I got tired of waiting for HTTrack to finish indexing a site I only needed three pages from.
http:// or https://.index.html inside the extracted folder to browse it offline.
The tool saves the page’s HTML, linked stylesheets, scripts, images, and fonts, including assets referenced inside CSS files like background images, and rewrites every path so the copy renders correctly offline. What it can’t save is anything that only exists behind a login, in a database that generates pages on request, or content a script builds after the page loads, more on that in the JavaScript section below.
Once you’ve got the ZIP, you can pack it with other files or compress it further using Create ZIP File, or convert it to a RAR archive with Create RAR File if that’s what your team standardizes on.
HTTrack is the tool most “how to download a website” guides default to, and for good reason, it’s free, open source, and has been mirroring sites since 1998. It builds a local directory structure using the HTML, files, and images from the server, then arranges everything so you can browse the mirror in a normal browser like the live site. Here’s how to run it.
httrack package from most repos).index.html in the project folder to browse the site offline.On Linux, skip the GUI entirely and run it from the terminal: httrack "https://example.com" -O "/path/to/folder" "+*.example.com/*" -v. The +*.example.com/* filter keeps the crawl inside that domain instead of following every outbound link on the page, which is easy to forget and can turn a 20-page site into a 2,000-page download.
Keep in mind HTTrack can take anywhere from a few minutes to several hours depending on site size, and it will hit the target server with hundreds of requests if you don’t cap the connection count in its options. Play polite and set a connection limit for anything you don’t own.
Cyotek WebCopy is a free Windows-only tool that does roughly what HTTrack does with a friendlier interface, it scans a website, then copies the pages, images, and other files locally so you get a browsable offline copy. It’s a solid pick if HTTrack’s older UI puts you off.
The scan-before-copy step is the main thing WebCopy does better than HTTrack, you see the full page count and can trim it before committing to a multi-hour download. Only works on Windows though, Mac and Linux users need SiteSucker or wget instead.
SiteSucker is the closest thing Mac has to a native HTTrack. It’s a paid app on the Mac App Store (a few dollars, one-time), but it’s genuinely simple: paste a URL, hit the download button, and it recursively grabs the whole site, following links and saving pages, images, PDFs, and style sheets to a local folder that mirrors the site’s structure.
It pauses and resumes downloads cleanly, which matters on a slow connection or a site with a few thousand pages. The tradeoff is it’s Mac-only and not free, so if you’re on Windows or Linux, HTTrack or wget cover the same ground at no cost.
Wget is a free command-line utility for retrieving files over HTTP, HTTPS, and FTP, and it’s built into most Linux distributions and installable on Mac via Homebrew. One command mirrors an entire site onto your computer, no GUI required. Per the GNU Wget manual, this is the exact command to run:
wget --mirror --convert-links --page-requisites --no-parent https://example.com
Each flag does one job. --mirror turns on recursive downloading with settings tuned for a full site copy (infinite recursion depth, timestamps, and directory structure preserved). --convert-links rewrites links after the download finishes so they point to your local files instead of the live URLs, which is what makes the copy actually browsable offline. --page-requisites pulls in everything a page needs to display correctly, images, CSS, and embedded scripts, even if those files live outside the page’s own folder. --no-parent keeps wget from climbing up to a parent directory and crawling the rest of the domain if you only pointed it at a subfolder.
Add --wait=1 --limit-rate=200k if you want to be polite to the server, that adds a one-second pause between requests and caps your download speed, both of which matter on sites you don’t own. On Mac, install wget first with brew install wget if it’s not already on your system.
For one page rather than a whole site, your browser already has this built in. Open the page, let it fully load, then press Ctrl+S on Windows or Cmd+S on Mac. Chrome and Edge offer “Webpage, Complete” in the save dialog, which downloads the HTML plus a folder of the CSS, images, and scripts that page needs.
This is the fallback when none of the other methods are worth the setup, you just need one article or one product page saved, not a whole domain. The catch is it only grabs that single page, it doesn’t follow links, so it’s not a real substitute for Methods 1 through 5 if you actually need “the entire website.”
If you don’t need the HTML or code, only the photos, skip the full mirror. Pixellize’s Image Extractor pulls every image from a page URL and lets you download them as a batch, no need to right-click and save each one individually. It’s faster than any of the desktop tools above when images are the only thing you’re after.
JavaScript-heavy sites often download as a nearly empty page because traditional crawlers save the HTML that arrives first, not the content a script builds afterward. React, Vue, and Next.js apps frequently render their real content client-side, so the raw HTML wget or HTTrack fetches is just a <div id="root"></div> and a script tag.
Did you know this is the single most common complaint in forum threads about failed site downloads? Someone runs HTTrack against a modern web app, opens the result, and finds a blank white page. It’s not a bug in the tool, the content genuinely isn’t in the HTML the server sent.

A few ways to work around it:
Downloading pages behind a login generally requires passing your session cookie to the crawler, and even then it only works for content your account can already see. Wget supports this with --load-cookies pointing at a cookies.txt file exported from your browser, and HTTrack has a similar cookie-import option in its advanced settings.
In practice this gets messy fast. Sessions expire mid-crawl, some sites detect the request pattern and log you out, and two-factor auth breaks automated logins entirely. A few honest limits worth knowing before you try:
Before you start a multi-hour crawl, estimate the size first, a site with a lot of high-resolution images or video can easily run into gigabytes. Run the target URL through Pixellize’s Website Page Size Checker to see roughly how heavy a single page is, then multiply by the page count for a rough total.
To find the real page count before committing, map every URL on the site with Link Finder, or pull a full sitemap with Sitemap Finder if the site publishes one. Both give you a page count in seconds instead of guessing, which matters because HTTrack and wget don’t tell you how big a job is until they’re already halfway through it. If you’re auditing the site rather than archiving it, Broken Link Checker is worth running alongside this, since a full crawl is also a good time to catch dead links, our guide on auditing a WordPress site for broken links and images covers that in more depth.
Once you’ve got a saved copy, it’s also a decent time to inspect the site’s design system. Website Typography Extractor and Website Color Palette Extractor both work straight off a live URL if you’re pulling fonts and colors for a redesign reference, no need to dig through the downloaded CSS by hand.
| Method | Install needed | Platform | Best for | Cost |
|---|---|---|---|---|
| Website Clone (in-browser) | None | Any (browser only) | Quick copies, single pages to small sites, no setup | Free |
| HTTrack | Yes | Windows, Linux | Large multi-page mirrors, offline archiving | Free |
| Cyotek WebCopy | Yes | Windows | Scan-before-download control over what gets copied | Free |
| SiteSucker | Yes | Mac | Native Mac users who want a simple GUI | Paid (one-time) |
| wget | Usually pre-installed | Mac, Linux, Windows (WSL) | Scripting, automation, servers without a GUI | Free |
| Browser Save Page As | None | Any | A single page, not a whole site | Free |
Pixellize’s Website Clone tool packages a full site into a ready-to-open ZIP right in your browser, HTML, CSS, JS, images, and fonts included.
Open Website CloneFor most people asking how to download an entire website, the answer isn’t a piece of software at all, it’s picking the method that matches how much of the site you actually need and whether you’re okay installing something. If you only need a handful of pages, start with Pixellize’s in-browser Website Clone tool and save the desktop installs for sites with hundreds of pages that genuinely need an overnight crawl. Mapping every URL with Pixellize’s Link Finder first, an approach we cover in more depth in how to find all links on a website, takes the guesswork out of whichever method you pick.
Generally yes for personal, offline use, since copyright covers the content itself, not your right to view it offline. Check the site's robots.txt file and terms of service first, avoid republishing what you save, and never crawl content you don't have permission to access, like a paywall or login area.
Use an in-browser tool like Pixellize's Website Clone. Paste the URL, choose what to include (images, CSS, JavaScript, fonts), and it downloads a ready-to-open ZIP with everything rewritten to work offline, no software, account, or setup required.
Sometimes. If the site renders its HTML on the server (common with Next.js or Nuxt), standard tools work fine. If it renders entirely in the browser, a plain crawler saves an empty shell instead, you need a tool that executes JavaScript first or a manual Save Page As after the page fully loads.
If you only need the photos and not the full site, use an image extraction tool instead of a full mirror. Pixellize's Image Extractor pulls every image from a page URL and downloads them as a batch, which is faster than running HTTrack or wget for images alone.
It depends on page count and average page weight. A 10-page site at roughly 2 MB per page finishes in minutes and needs about 20 MB of space, while a 500-page site can take an hour or more with HTTrack and need 1.5 GB or more once images and fonts are included.
Only content your account already has access to, and only by passing your session cookie to the crawler (wget's --load-cookies flag or HTTrack's cookie import). Sessions expire quickly, two-factor auth breaks most automated logins, and many sites' terms of service prohibit scraping logged-in content entirely.