Host a zip file as a website
You have a zip — a build export, a site someone sent you, something an agent just generated. Hosting it should mean getting a link, not creating an account and configuring a project. Drop the zip here and it's a website. A single HTML file works too.
Drop your zip or HTML file here — get a live link
.zip, folder, or single .html — free, no account, live for 30 days.
Uploading publishes your files. The link is public but unlisted, not password-protected — leave out secrets and confidential content.
ChatGPT gave me HTML — how do I share it?
For a single-file page, ask ChatGPT for one complete HTML file with the CSS and JavaScript included, without a server or build step. Already have the HTML? Save it and upload it here — no zip needed.
- Copy just the HTML, not the explanation or the three-backtick code fences. Paste it into a plain-text editor and save as index.html, not index.html.txt. In Notepad, choose All files when saving; in TextEdit, choose Format → Make Plain Text first. You can use the small example below to try it.
- Drag index.html into the ship zone above, or choose Browse files and select it. Selecting the file uploads and publishes it immediately.
- When the link appears, choose Open to check the page, then Copy link to share it. Share the live URL, not your local file path or the claim token. Save that token separately if you want to claim the page.
Try it — save as index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>My first page</title>
</head>
<body>
<h1>It works!</h1>
<p>This page started as an HTML file.</p>
</body>
</html>A single HTML upload can be up to 10 MiB. If the page refers to separate images, CSS or JavaScript files, put those files alongside index.html at the paths it expects and zip them together. React source, Python scripts, Node servers and databases are not a static website export and will not run here.
From zip to live URL in under a minute
- Zip any static site — a build export, a theme, something an agent just generated. Put index.html at the root: that's the homepage.
- Drag the zip into the ship zone above, or POST it with one curl. No account, no API key, no project setup.
- Share the URL. The site is live worldwide on its own subdomain in seconds, and every relative link inside the zip just works.
Or with plain curl — no account needed
curl -X POST https://ship.page/deploy \
-H "Content-Type: application/zip" \
--data-binary @site.zipThe response is JSON with your live URL. Pipe zip straight in and you never touch a temp file: zip -qr - . | curl --data-binary @-.
What you get
- The zip unpacks at the root of its own subdomain — index.html opens on the URL, and every stylesheet, image and relative link resolves
- No account, no key: anonymous zips up to 25 MiB and 100 files (100 MiB unpacked) are free and stay live for 30 days
- Public but unlisted — anyone with the URL can open it; no public directory, with noindex, nofollow headers on every drop
- Byte-for-byte serving — nothing is injected, rewritten or branded, ever
- Claim the drop for free to keep its URL and extend it to 90 days. Same-URL content updates require a paid plan; new paid API drops have no expiry by default
What the zip should look like
An index.html at the zip root becomes the landing page. Everything wrapped in a single top-level folder — the way most build tools export — gets unwrapped automatically, so zipping your dist/ folder works the way you'd expect. Beyond that, the site is served exactly as packed: relative links resolve, assets load by their paths, and nothing is rewritten.
Drops are static hosting, so anything that runs on a server — PHP, Node, a database — won't run here. If it's pure HTML, CSS and JS, it works.
Questions
How do I host a zip file as a website?
Upload the zip to ship.page — drag it into the ship zone above or POST it to /deploy with Content-Type: application/zip. The zip is unpacked and served as a static site on its own URL within seconds. An index.html at the zip root becomes the homepage.
Is zip file hosting free?
Yes — anonymous deploys need no account and no card: zips up to 25 MiB, 100 files and 100 MiB unpacked, live for 30 days. Claiming a drop extends it to 90 days. Paid API uploads allow 100 MiB zips, 900 files per request and 400 MiB unpacked, with no expiry by default unless you set one.
Does the zip need an index.html?
To serve a homepage, yes — put index.html at the zip root. If everything sits inside one top-level folder (like a dist/ export), that folder is unwrapped automatically. Without an index.html the URL still serves every file by path, it just has no landing page.
Can I update the site after uploading the zip?
Free uploads get a new URL each time. Same-URL content updates require an active paid plan and an API key. For a drop you own, POST /deploy/<slug> adds or overwrites files without removing other files or changing its expiry. For full replacements, create a named API drop with POST /deploy?name=demo, then reuse that name on the same account; each redeploy replaces all its files.
Does claiming a drop turn it into a named deployment?
No. Claiming keeps the original random URL and extends its lifetime; it does not name the drop or enable free content updates. Creating a named API drop is a separate paid flow with its own URL. The name is a redeploy identifier, not a custom hostname; Team vanity subdomains are separate and switching to one changes the URL.
Will my zip site show up on Google?
Every drop sends X-Robots-Tag: noindex, nofollow to ask search engines not to index it, and there is no public directory of drops. That is not access control: the site is public to anyone with the URL, and they can forward it. Do not upload secrets or confidential files.
What can be inside the zip?
Any static files: HTML, CSS, JavaScript, images, fonts, PDFs. Server-side code — PHP, Node, databases — won't run; drops are pure static hosting, exactly like opening the folder on a web server.
Keep reading
- Share a static website preview with a client
- Share an interactive Plotly chart as an HTML page
- Upload a zip, get a URL — the deploy API end to end
- Coming from Netlify Drop? The honest comparison
- API docs — every deploy option
The zip is the deploy
No account, no key, no form. One upload and the URL is live for 30 days — claim it to keep it longer.