Skip to main content

🧩 Site Converter — Make Any Website Work Offline

Python Version License Status

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.html in your browser to test the offline version
  • If some assets aren’t appearing, edit base_url or the replace_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)

Source distribution for site-converter 2.0.0
File Size Uploaded
site_converter-2.0.0.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for site-converter 2.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page