Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Cloner icon

Web Cloner

Free website downloader, site cloner and full-page screenshot tool for macOS.

Download any website to your Mac, generate its sitemap, or capture a screenshot of every page — from one clean native app, without touching the Terminal.

Download

Platform Universal Swift License Release

Web Cloner cloning a website on macOS, showing a live page list with per-page status

What is Web Cloner

Web Cloner is a native macOS app that puts a modern SwiftUI interface on top of battle-tested wget. Save a whole website for offline reading, scan a site to discover its pages, or capture a full-page PNG of every page. Each page appears in a live list with its own status, so you always know what finished and what is still running.

It is the friendly Mac alternative to HTTrack and to typing wget --mirror by hand.

Features

🌐 Clone website Downloads pages, CSS, JavaScript and images, converts links, and leaves you a site that browses offline
🔍 Scan only Discovers every page on a site without downloading anything
📸 Screenshots Full-page PNG of each page at 1280, 1440 or 1920 width
🗺️ Sitemap generator Writes a standard sitemap.xml after every job
📊 Live page list Downloading, Done, Failed and Redirect states with sizes and click-to-filter counters
⚙️ Automatic setup Installs wget for you through Homebrew if it is missing
🚦 Speed control Polite (rate limited), Normal or Fast, so you do not get blocked
🧭 Depth control Whole site, or only 1 to 5 levels deep
🖥️ Universal binary Runs natively on both Intel and Apple Silicon

Install

1. From the DMG (recommended)

  1. Download WebCloner.dmg
  2. Open the DMG and drag Web Cloner onto the Applications folder
  3. Launch it. The first time macOS blocks it, use right-click → Open → Open

2. wget

The app needs wget. If it is missing, a Setup card appears:

  • Homebrew installed → press Install wget and the app runs brew install wget in the background
  • No Homebrew → the same button opens Terminal and installs Homebrew and wget (enter your Mac password there)

To do it yourself:

brew install wget

3. Build from source (optional)

git clone https://github.com/DeveloperSarim/web-cloner-mac.git
cd web-cloner-mac
./build.sh          # produces WebCloner.app and WebCloner.dmg

Only the Xcode Command Line Tools are required (xcode-select --install). Full Xcode is not needed.

How to use

  1. Type the site into Address, either example.com or a full URL
  2. Pick a folder under Save to
  3. Choose a Job: Clone, Scan or Screenshot
  4. Press Start and watch the pages arrive below
  5. When it finishes, press Open Folder or Open Website

Options

Option What it does
How deep The whole site, or only 1, 2, 3 or 5 levels in
Speed Polite adds a wait and a rate limit, Fast never pauses
Width Screenshot width: 1280, 1440 or 1920 px
Download images and media Turn off for HTML, CSS and JS only, which is far faster and smaller
Create sitemap.xml Writes the sitemap into your save folder
Ignore robots.txt Only for sites you own or are allowed to copy

Where the files go

<save folder>/
├── example.com/          # the cloned site, open index.html
│   └── index.html
├── screenshots/          # PNGs from the Screenshot job
└── sitemap.xml           # every page discovered

Requirements

  • macOS 13 Ventura or newer
  • Intel or Apple Silicon Mac (universal binary)
  • wget (the app can install it for you)

FAQ

How do I download an entire website on a Mac?

Open Web Cloner, type the address, choose Clone and press Start Cloning. The app mirrors the site with wget and rewrites the links, so index.html works without an internet connection.

Is this an HTTrack alternative?

Yes. Same job, website mirroring, but with a native macOS interface, a live page list, a sitemap generator and built-in screenshots.

Does it work on JavaScript-heavy sites?

wget does not run JavaScript, so a fully client-rendered site gives you only its shell. Use the Screenshot job for those, because it renders in a real browser engine (WebKit).

How large are the screenshots?

Full-page PNGs at the width you choose (1280, 1440 or 1920) and the full height of the page. One job captures up to 60 pages.

Is the app signed and safe?

It is ad-hoc signed but not notarized by Apple, which is why the first launch needs right-click → Open. The entire source is in this repository, so you can build it yourself.

Development

Sources/Engine.swift     # wget arguments, output parsing, sitemap, screenshots
Sources/UI.swift         # SwiftUI interface
Sources/makeicon.swift   # app icon generator
Tests/engine/main.swift  # parsing and sitemap checks
Tests/shot/main.swift    # real screenshot check
build.sh                 # universal build and DMG

Run the tests:

swiftc Sources/Engine.swift Tests/engine/main.swift -o /tmp/t && /tmp/t
swiftc Sources/Engine.swift Tests/shot/main.swift  -o /tmp/s && /tmp/s

Contributing

Issues and pull requests are welcome. Please open an issue first for anything large.

License

MIT — © 2026 Sarim Yaseen

Author

Sarim Yaseen@DeveloperSarim

If this app saved you time, a ⭐ on the repo helps.

About

Free macOS app to clone, scan and screenshot any website. A wget-powered website downloader and site mirror tool with a clean SwiftUI interface, sitemap generator and full-page screenshots. Universal binary for Intel and Apple Silicon.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages