Download Entire Website on Mac: 4 Ways Compared
How to download entire website on Mac: why Safari saves only one page, and how wget, HTTrack, Mac apps and an online downloader compare by situation.
Website Downloader 9 min read
To download an entire website on a Mac, Safari is not enough. Its Save As option (Web Archive) captures only the page you are looking at, never the subpages. For a whole site you need a tool that follows links. You can use wget in Terminal, HTTrack from the command line, a dedicated Mac app such as SiteSucker, or an online downloader that runs in your browser and hands you a ZIP. The right choice depends on three things: how comfortable you are with Terminal, how big the site is, and whether you want to install anything.
Can Safari save a whole website, or only one page?
Only one page. In Safari, File → Save As offers two formats:
- Web Archive creates a
.webarchivefile. It bundles the current page's HTML together with its images, stylesheets and scripts into a single file. - Page Source saves only the HTML, without images or styles.
Neither option follows links. If you open a saved .webarchive and click a menu item, Safari loads the live website, or shows an error if you are offline. Export as PDF and Add to Reading List (with offline saving turned on) behave the same way: one page at a time.
A .webarchive is an Apple-specific format. Safari opens it, but Chrome, Firefox and Windows users generally cannot. That is a poor fit for an archive you want to share or keep for years. Saving every page of a site needs a crawler, a program that starts at the home page, follows every internal link and downloads each page with its files. The four options below are all crawlers.
Option 1: Download an entire website on Mac with wget
wget is the classic command-line mirroring tool. macOS does not include it. Apple ships curl, which downloads single files but does not crawl links, so you have to install wget first.
Install wget with Homebrew
Homebrew is the usual package manager on macOS. Once it is set up (its installer also installs Apple's Command Line Tools if they are missing), open Terminal and run:
brew install wget
This works the same on Intel Macs and on Apple Silicon (M1 and later). On Apple Silicon, Homebrew installs into /opt/homebrew and builds native versions, so you need no Rosetta or other extra setup.
The wget --mirror command
Move to the folder where you want the copy, then start the mirror:
cd ~/Downloads
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --wait=1 https://example.com/
What each flag does:
--mirrorturns on recursive downloading with unlimited depth and timestamping.--convert-linksrewrites links so they point to your local files instead of the live site. Without it, your offline copy keeps jumping back to the web.--adjust-extensionadds.htmlto pages whose URLs have no extension, so the browser opens them correctly.--page-requisitesfetches the images, CSS and scripts each page needs.--no-parentstops wget from climbing above the starting folder. This is useful if you only wantexample.com/blog/.--wait=1pauses one second between requests, which is kinder to the server and less likely to get you blocked.
wget creates a folder named after the domain. Open example.com/index.html in Safari to browse the copy. For a long crawl, you can prefix the command with caffeinate -i so the Mac does not go to sleep halfway through. Terminal has to stay open until the crawl finishes.
One common surprise: files hosted on another domain, such as images on a CDN, are skipped by default. You can add --span-hosts --domains=example.com,cdn.example.com, but you have to find those domains yourself first.
Does HTTrack run on a Mac?
Yes, but not the way Windows users know it. The familiar WinHTTrack window with its wizard is Windows-only. On macOS you install the command-line version with Homebrew:
brew install httrack
A basic mirror looks like this:
httrack https://example.com/ -O ~/Downloads/example "+*.example.com/*"
The -O option sets the output folder. The quoted filter keeps the crawl on the site's own domain and its subdomains. HTTrack writes an index.html into the output folder that links to the mirrored site.
When is HTTrack worth it over wget? Its filters are more flexible, and you can resume an interrupted mirror with httrack --continue from inside the output folder. That makes it a good fit for large sites on a shaky connection. HTTrack also has a browser-based front end called WebHTTrack, but it is aimed at Linux and getting it running on a Mac is fiddly. In practice, HTTrack on macOS is a Terminal tool. If you want HTTrack's results without the setup, see our HTTrack alternative guide.
Option 3: A Mac app such as SiteSucker
If Terminal is not your thing, a dedicated Mac app gives you the same crawling with a window and buttons. SiteSucker is the best-known example. It is a paid app in the Mac App Store, and you paste an address and press Download. Similar apps work the same way.
The settings that matter most in apps like this:
- Maximum levels (depth): how many clicks away from the start page the crawler goes. Level 1 means the start page plus the pages it links to directly. Level 2 adds the pages those link to, and so on.
- Path or domain limits: whether the app may leave the folder or domain you started in.
- File types and file limits: for example, skipping videos or capping the total number of files.
The trade-offs: you install software, the Mac has to stay awake and online for the whole crawl, and the app cannot render content that a site builds in the browser with JavaScript. Every desktop crawler shares that last limit.
Option 4: Download the whole website online, with nothing to install
The fourth route skips installation entirely. Website Downloader runs in the browser. You enter the address, it crawls the site on its own servers and delivers every subpage with its images, stylesheets, scripts, fonts and media as one ZIP file. It works the same in Safari, Chrome or Firefox, on any Mac, Intel or Apple Silicon.
- Paste the site's address into the download field on the home page.
- Watch the live progress as pages are collected. You can close the lid or let the Mac sleep, because the crawl does not run on your computer.
- Download the finished ZIP, double-click it in Finder to unpack it, and open
index.htmlin Safari.
Page limits depend on the plan:
- Free: no account, up to 100 subpages per download, archive kept for 1 day. This is enough for most small business sites and portfolios.
- Single Site: a one-time payment of 7.99 EUR for one website, up to 5,000 subpages and 2 GB, kept for 30 days.
- Monthly plans for repeated downloads: Basic (2,000 subpages), Standard (5,000) and Premium (30,000), each cancellable at any time.
Details are on the pricing page and the features overview. If the site you need is already offline, the Wayback Machine downloader can rebuild it from Internet Archive captures. For more on the ZIP format and what is inside, read Download a Website as ZIP Online.
How many pages or levels deep should you download?
For a full backup, aim for the whole site. Depth limits mostly make sense when you only want one section. Before you start, estimate the size:
- Look for a sitemap at
example.com/sitemap.xml. It often lists every public page. - Search
site:example.comin a search engine for a rough page count. - Expect blogs to be bigger than they look. Tag pages, category pages, author archives and pagination (
/page/2/,/page/3/…) can multiply the number of URLs several times over.
If the estimate is well under 100 pages, any free route will do. If it runs into the thousands, a desktop crawl can take hours with your Mac awake the whole time, which is where a server-side download is the more comfortable choice.
Which option fits your situation?
| Situation | Best fit | Why |
|---|---|---|
| You need only one page | Safari Save As (Web Archive) or Export as PDF | Built in. A crawler is overkill. |
| Whole site, comfortable with Terminal | wget | Free, scriptable, precise control with flags. |
| Large site, unreliable connection | HTTrack | Flexible filters, can resume interrupted mirrors. |
| Whole site, prefer an app window | SiteSucker or a similar Mac app | Graphical settings for depth and limits. |
| Nothing to install, or a work or shared Mac | Online downloader | Runs in the browser, returns one ZIP, Mac can sleep. |
| Site already gone from the web | Wayback restore | Rebuilds the site from Internet Archive captures. |
For a deeper side-by-side of the command-line tools, see wget vs HTTrack vs Online Website Downloader.
Why does my downloaded copy look broken or different from the live site?
Every method above saves what the web server sends. That covers most websites well, but some things cannot survive offline:
- JavaScript-built sites. Some React, Vue or Angular single-page apps send an almost empty page and build the content in the browser. A crawler then saves the shell without the text. wget and HTTrack share this limit, and so does Website Downloader.
- Pages behind a login. Member areas, dashboards and customer accounts are not downloaded.
- Features that need a server. Site search, contact forms, shopping carts and comments all send data to a server that is not there offline.
- Missing styles or images. With wget, this usually means assets on another domain were skipped, or
--convert-linkswas left out. Links that still open the live site point to the same cause.
If you want to keep a site built with a hosted builder, the platform-specific guides go into more detail, for example Squarespace, Wix or WordPress to static HTML.
FAQ
Can I download a whole website on an iPad or iPhone?
Not with built-in tools, and wget, HTTrack and Mac apps like SiteSucker do not run on iPadOS or iOS. An online downloader works from Safari on a tablet because the crawl happens on a server. The Files app can unpack the ZIP, but browsing a large offline copy is far more comfortable on a Mac or PC.
Does it work on Apple Silicon Macs without extra setup?
Yes. Homebrew builds wget and HTTrack natively for M-series chips, so no Rosetta is needed. The online route needs nothing beyond a browser, so the processor makes no difference.
How do I open the downloaded ZIP on a Mac?
Double-click the ZIP in Finder, and macOS unpacks it into a folder. Open index.html in Safari or any other browser, and the links between pages work offline. Keep the folder structure intact: moving single files out of their folders breaks the paths to images and styles.
What if a site refuses the download?
Some servers block automated downloads, often with a 403 error. wget then saves an error page or nothing at all, and Website Downloader reports the block instead of producing an empty archive. Slowing the crawl down with wget's --wait option can help, but a site that deliberately blocks crawlers usually means it. In that case, ask the owner for a copy. The FAQ covers other common errors.
Is it legal to download someone else's website?
Downloading public pages for personal offline reading or archiving your own site is generally unproblematic. Republishing someone else's content is a different matter, because copyright and the site's terms of use apply. The rules depend on your country and situation. This is not legal advice, so ask a lawyer if you plan to reuse the content.
- download entire website on Mac
- Mac
- wget
- HTTrack
- offline website