ZIP to website
Upload a .zip file (or a folder or single HTML file) and turn it into a live website on its own HTTPS subdomain within seconds. It is free, with no signup and no credit card. Free uploads take a 25 MB ZIP with up to 100 files and 100 MB unpacked, and your site stays live for 30 days.
A file. A folder. A fresh start.
Your static site, one link away.
Uploading publishes your file. The link is public but unlisted, not password-protected, so leave out secrets and confidential content.
Turn a ZIP file into a website in three steps
- Check that your ZIP has an index.html file at the top level, or inside a single top-level folder.
- Drop your .zip into the uploader above, enter an email address for your backup claim link, and click publish. You do not need an account or password.
- Copy the live HTTPS URL or download the PNG QR code to share your site.
Or publish site.zip from the terminal
curl -X POST https://ship.page/deploy \
-H "Content-Type: application/zip" \
--data-binary @site.zipOne curl request deploys site.zip and returns your live URL with no email, account or API key.
What comes with every ZIP upload
- An unguessable HTTPS subdomain where index.html loads as the front page
- All subfolders and relative paths for CSS, JavaScript, images and fonts kept intact
- Multi-page navigation across up to 100 files on the free plan (10,000 on Pro)
- A downloadable PNG QR code and a recovery link right after publishing
- Byte-for-byte file serving with no build step, plus a closeable badge on free pages
Limits by plan
| Free | Pro | Team | |
|---|---|---|---|
| Price | $0 | $4 per month | $19 per month |
| Account required | No | Yes | Yes |
| Single HTML file | 10 MB | 10 MB | 10 MB |
| ZIP upload | 25 MB, 100 MB unpacked | 100 MB, 400 MB unpacked | 100 MB, 400 MB unpacked |
| Files per request | 100 | 10,000 | 10,000 |
| Deploys per minute | 10 | 120 | 120 |
| Link lifetime | 30 days, 90 with a free account | No expiry, or any TTL from 60 seconds | No expiry, or any TTL from 60 seconds |
| Update a page, keep its link | No | Yes | Yes |
| Password protection | No | Yes | Yes |
| Vanity subdomain | No | No | Yes |
How to structure your ZIP file
Your site's front page must be named index.html. You can put index.html right at the root of the ZIP, or inside one top-level folder. If your archive contains a single top-level folder (which happens when you right-click a folder and compress it on Mac or Windows), ship.page uses that folder as the site root automatically.
Every subfolder and relative path works just like it does on your computer. A link to ./about.html or an image at ../img/logo.png resolves without any changes. If your ZIP does not have an index.html file, the upload still succeeds, and every file is reachable at its own path, though opening the bare root URL will show a 404.
Publishing exports from AI tools, templates and build folders
Downloaded website templates and exports from AI site builders or design tools can go straight into the uploader as a ZIP. Just keep the HTML, CSS, JavaScript and image folders together in the archive so relative links stay connected.
If you use a framework like Vite, React, Astro or similar, run your build on your computer first. ship.page does not run a build step, so zip the finished output folder (such as dist, build or out), not your project source code.
There is no single-page-app fallback to index.html. Every URL a visitor loads must match a real file in the ZIP. For client-side routing, use hash URLs or generate a separate HTML file for each route before zipping.
What works on the site
Static files only: HTML, CSS, JavaScript, images, fonts and PDFs. JavaScript runs in the visitor's browser, including libraries loaded from a CDN. Server-side code doesn't: no PHP, no Node, no database, no WordPress. If the page works when you open it from your own disk, it works here.
Questions
What if my files are inside a folder inside the ZIP?
If your ZIP has one top-level folder, ship.page automatically treats that folder as the root of your website. Your index.html inside that folder will load at the main URL.
Is it free, and do I need an account?
It's free and there's no account. The uploader asks for an email address only to send you a backup link for claiming the page later. No password, no credit card.
Why does my main link show a 404 after uploading?
The root link looks for a file named index.html (lowercase) at the top of the ZIP or inside a single top-level folder. Without index.html, the bare link returns a 404, or a link to a client-side route fails because there is no single-page-app fallback; every URL must match a real file in the archive.
How long does a free site stay online?
Free links stay live for 30 days. Claim the page with a free login to keep it for 90 days from claiming. Paid plans keep pages online with no expiry.
Who can see my site?
Anyone who has the link. The URL is unguessable, pages ask search engines not to index them and there's no public list of uploads, but free pages aren't password-protected. Leave out passwords and private data; paid plans add password protection.
Can I upload a bigger ZIP or more than 100 files?
The free plan takes a 25 MB ZIP with up to 100 files and 100 MB unpacked. The Pro plan ($4 a month) raises the limit to a 100 MB ZIP (400 MB unpacked) and up to 10,000 files, removes the badge, and keeps the site online with no expiry.
How do I update my website after changing the ZIP?
On the free plan, upload the new ZIP to get a new link; the previous link keeps showing what you uploaded before. On the Pro or Team plan, named deployments let you upload a new ZIP to replace the site at the same URL from the dashboard, the API or the GitHub Action.
Keep reading
- Host a ZIP file: full guide to free ZIP hosting
- Single file? Turn an HTML file into a website
- Upload an HTML file or folder directly
- Documentation: API, MCP server and GitHub Action
Put your ZIP online now
Drop your .zip in the uploader at the top of the page and get a live website link in seconds.