Download complete websites from the Wayback Machine for offline viewing.
Wayback-Archive is a Python tool that downloads archived websites from the Wayback Machine and reconstructs them for fully functional offline viewing. It preserves all assets -- HTML, CSS, JavaScript, images, and fonts -- rewrites URLs to relative paths, and cleans up Wayback Machine artifacts so the result looks like the original site. Unlike wget --mirror or httrack, it understands Wayback Machine URLs.
Features
- Downloads HTML, CSS, JS, images, fonts and every linked asset, following links in HTML, CSS and JS.
- Rewrites every link to a relative path so the copy works from a local server.
- Tries up to three other Wayback Machine timestamps (a day either side and a week earlier) when a resource returns 404.
- Replaces a capture that is an archived error or a Cloudflare challenge page with the nearest good capture.
- Saves Google Fonts locally, and removes corrupted fonts (HTML error pages served as fonts).
- Falls back to a CDN for critical libraries such as jQuery.
- Keeps icon groups, button links and cookie consent popups working.
- Optional HTML, JS, CSS and image minification, and removal of trackers, ads and external iframes.
- Configured with environment variables or a
.envfile.
Quick start
pip install wayback-archive
WAYBACK_URL="https://web.archive.org/web/20250417203037/http://example.com/" wayback-archive
cd output && python3 -m http.server 8000 # then open http://localhost:8000
Needs Python 3.10 or newer. The source install and every setting are in Getting started.
Documentation
The documentation is published as a site at geiserx.github.io/Wayback-Archive. The same pages on GitHub:
- Getting started: install from PyPI or from source, and the first run
- Configuration: every environment variable
- Usage: macOS, Linux and Windows examples
- Features: the full list and a comparison with wget and httrack
- How it works: the crawl steps, project layout and dependencies
- Troubleshooting, including the font loading notes
- Development: tests and contributing
- Related projects: the other Wayback tools
- Releases
Related projects
Wayback-Diff, Way-CMS, web-mirror, media-download, n8n-nodes-way-cms (archived). Descriptions are in Related projects.
License
Metadata
Release files for wayback-archive 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wayback_archive-1.5.0.tar.gz | 112.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wayback_archive-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 164.9 kB
Release files / wayback_archive-1.5.0.tar.gz
| Download URL | wayback_archive-1.5.0.tar.gz |
|---|---|
| Size | 112.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21f3b0f223980dc405bfef032ccd50cd8a8a5cfae3e7cd8f1bb69297fa746281
|
|
BLAKE2b-256 checksum How to use checksums |
0207f6e53a9e8e744c1d54d9897a406364c7fb648a0470fc90704ba4d2312451
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / wayback_archive-1.5.0-py3-none-any.whl
| Download URL | wayback_archive-1.5.0-py3-none-any.whl |
|---|---|
| Size | 52.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e5394e2d3026f40ab63912890dad246ecff6730a2cfe3ab66a40428a78c8c4e
|
|
BLAKE2b-256 checksum How to use checksums |
69973a86e56d78a69c7f7e91a0569e1f9ce8f583f12d7a52ce51ccd1d68c8cb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|