🧩 Site Converter — Make Any Website Work Offline
Site Converter is a Python tool that automatically scans any website, detects all embedded resources (images, videos, fonts, CSS, JS, etc.), downloads them to your computer, and updates all links inside the HTML file so the website can work completely offline.
Perfect for archiving, research, or creating backups of static websites. 🌍💾
🚀 Features
- 🌐 Automatically detects all embedded links and assets
- 💾 Downloads images, fonts, CSS, JS, and media to local folders
- 🔗 Rewrites HTML references to local paths
- 🧠 Smart file renaming system prevents duplication or conflicts
- ⚡ Simple command-line interface
- 💻 Works cross-platform (Windows, macOS, Linux)
⚙️ Installation
Make sure you have Python 3.8+ installed.
# Install required libraries
pip install requests beautifulsoup4 tqdm
# Clone the repository
git clone https://github.com/iemirakman/site-converter.git
cd site-converter
🧭 Usage
Convert any online website into a fully offline version with one command:
python site_converter.py https://www.example.com
When finished, you’ll find the offline site inside a folder named site_offline/.
Example Output
[INFO] Starting download from https://example.com
[✔] Downloaded: 34 images, 8 CSS files, 5 JS scripts
✅ Done! Open 'site_offline/index_offline.html' in your browser.
🗂️ Folder Structure
site_offline/
│
├── index_offline.html # Offline-ready HTML
├── images/ # All image assets
├── scripts/ # JavaScript files
└── styles/ # CSS stylesheets
⚠️ Known Issues
| Issue | Description |
|---|---|
| 🌀 Dynamic Frameworks | React / Vue / Angular apps may not render offline correctly |
| 🔐 Protected Assets | CORS or login-protected files may fail to download |
| ⏳ Large Websites | For very large sites, downloading might take a long time |
💡 Tips & Tricks
- Open
index_offline.htmlin your browser to test the offline version - If some assets aren’t appearing, edit
base_urlor thereplace_links()function in the source code - For automation, you can easily wrap this tool into your own scripts or schedulers
⚖️ Legal Notice
Disclaimer:
This tool is intended for personal, educational, or authorized use only.
Do not use it to download, copy, or redistribute copyrighted websites or content without permission.
The developer assumes no responsibility for any misuse or violation of terms of service by third parties.✅ You are free to use this tool to:
- Back up your own websites
- Work on authorized or open-source projects
- Study or test static site structures
🚫 Do not use it to:
- Copy or mirror commercial or copyrighted websites
- Circumvent login systems, paywalls, or digital protections
- Redistribute downloaded content publicly
🤝 Contributing
Contributions, ideas, and pull requests are always welcome!
To report bugs or suggest features, open an issue here:
👉 https://github.com/iemirakman/site-converter/issues
Please follow standard GitHub Flow for contributions.
✨ Author
Created by İbrahim Emir Akman
📧 Email: iemirakman@icloud.com
🐙 GitHub: https://github.com/iemirakman
⭐ If you find this project useful, don’t forget to star the repository!
Metadata
Release files for site-converter 2.0.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 | |
|---|---|---|---|
| site_converter-2.0.0.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| site_converter-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.4 kB
Release files / site_converter-2.0.0.tar.gz
| Download URL | site_converter-2.0.0.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
705963985a18343e2ea2bb807ee7c6e76e680d47628f06f0971c222274da0d8f
|
|
BLAKE2b-256 checksum How to use checksums |
b96c06ce5d477b73e2599f8d830a1260b9140ed392bd8d48facb103e2da405e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / site_converter-2.0.0-py3-none-any.whl
| Download URL | site_converter-2.0.0-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dc6c3fd6be732e72ccc9cf353d7499f976381193c05e9f4d1def5cfab09c3b40
|
|
BLAKE2b-256 checksum How to use checksums |
d51a3aebe4104150212ca657e64aa63750f0e62558e14c7380a88160d0ba13ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|