Skip to content

Host a ZIP. Share a website.

Your static build, with a place on the web. No project setup needed.

The ZIP is the deploy.

Bring your HTML, styles and assets together. Get one link back.

Free for 30 days. No account needed.

ZIP size
25 MiB
Files
100
Unpacked
100 MiB

Shipping…

Public but unlisted. Anyone with the link can open it, so leave out secrets.

From folder to live link.

  1. Pack the finished site.

    Put index.html alongside your assets and ZIP them together. A single enclosing folder is unwrapped automatically.

  2. Choose your ZIP.

    Choose your static build, enter your email for the page and recovery link, then confirm to publish. No account or build settings to configure.

  3. Send the link.

    Open your site, check it, then share it. Claim the drop with a free account to extend its lifetime to 90 days.

A home for every file
site.zip
├── index.html
├── styles.css
├── app.js
└── images/
    └── cover.png

Your files, stored as they are. Just a small badge visitors can close. No rewritten links.

More of a terminal person?

Send the same ZIP in one request. The response includes your live URL. No API key needed.

Read the deploy docs
cURL
curl -X POST https://ship.page/deploy \
  -H "Content-Type: application/zip" \
  --data-binary @site.zip

A few useful answers.

The details, before you deploy.

ChatGPT gave me HTML. Do I need a ZIP?

Not for a single-file page. Copy only the HTML, without the explanation or code fences, into a plain-text editor. Save it as index.html, not index.html.txt, and choose Upload HTML instead above. A single HTML file can be up to 10 MiB. If it needs separate images, CSS or JavaScript, include those files at the expected paths and ZIP them together.

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, 10,000 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.