Clone any website in seconds. Perfect for learning, prototyping, and building.
WebClone is a powerful command-line tool that creates local copies of websites, downloading all HTML, CSS, JavaScript, images, and fonts.
Perfect for: Learning web development, studying designs, creating prototypes, and building templates.
β οΈ For educational use only. Respect copyright laws. See Legal Disclaimer.
pip install webclone-cli# Clone any website
webclone https://example.com
# Clone with custom name
webclone https://stripe.com stripe_clone
# View the result
cd example_com_cloned
python -m http.server 8000
# Visit http://localhost:8000- π One-Command Cloning - Clone any website instantly
- π¦ Smart Resource Management - Auto-downloads all assets
- π¨ Preserves Design - Maintains styling and animations
- π§ Intelligent Path Fixing - Updates paths to work locally
- π Auto Documentation - Generates README for each clone
- π― Perfect for Learning - Study how top sites are built
- Static Sites - Landing pages, portfolios (Docker.com, Stripe.com)
- Client-Side Apps - React, Vue, Next.js apps (Vercel.com, Linear.app)
- Documentation - Docs sites, wikis, guides
- Marketing Pages - Product pages, company sites
- CMS Sites - WordPress, Umbraco (clones design, not backend)
- Server-Side Apps - PHP, ASP.NET (visual shell only)
- API-Heavy Apps - Dynamic dashboards (layout only)
Still useful for: Studying designs, extracting UI components, learning CSS structures.
Learn more about what can/cannot be cloned β
webclone https://www.stripe.com
webclone https://www.linear.app
webclone https://vercel.comwebclone https://landing-template.com my_project
# Edit the HTML/CSS to customizewebclone https://docs.docker.com docker_docsProblem: JavaScript won't run when opened directly (file://)
Solution: Use a local server:
cd your_cloned_site
python3 -m http.server 8000
# Visit http://localhost:8000- External CDN resources may fail to download
- Dynamic content needs JavaScript to load
- Check browser DevTools (F12) β Console for errors
- Server-side rendered content won't clone
- Database/CMS content needs backend
- Works best with client-side rendered sites
your_cloned_site/
βββ index.html # Main HTML file
βββ README.md # Auto-generated docs
βββ assets/
βββ css/ # Stylesheets
βββ js/ # JavaScript files
βββ images/ # Images
βββ fonts/ # Web fonts
βββ files/ # Other assets
- Python 3.7+
- Internet connection
- Dependencies (auto-installed):
- requests
- beautifulsoup4
- lxml
webclone <url> [output_directory]
Arguments:
url Website URL to clone
output_directory Optional custom folder nameContributions welcome!
git clone https://github.com/AbdirahmanNomad/webclone.git
cd webclone
pip install -e ".[dev]"MIT License - see LICENSE file for details.
For educational purposes only.
- β Learning and personal projects
- β Design inspiration and research
- β Commercial use without permission
- β Copyright infringement
Users are responsible for respecting copyright laws. See full Legal Disclaimer.
Abdirahman Ahmed
- Website: abdirahman.net
- GitHub: @AbdirahmanNomad
- PyPI: webclone-cli
Give a βοΈ if this project helped you!
- Report Issues
- View on PyPI
- Share with #WebClone
Made with β€οΈ for developers learning web development