Free HTML hosting
Upload one HTML file (up to 10 MB) or a ZIP (up to 25 MB) and it's online with a live link in seconds. No signup, no card, no build step: the file is the deploy.
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 — leave out secrets and confidential content.
From file to live link in under a minute
- Save or export your page as a single HTML file, or zip a folder with index.html at the root. Anything that opens in a browser from disk is ready.
- Drop it into the ship zone above, or POST it with one curl. Your email address is only used to send a backup claim link. No account, no API key.
- Open the link to check it, then send it. The page is live worldwide on its own subdomain, served with only a small badge visitors can close.
Or with plain curl — no account needed
curl -X POST https://ship.page/deploy \
-H "Content-Type: text/html" \
--data-binary @index.htmlThe response is JSON with your live URL. A folder instead of a single file? Zip it and send Content-Type: application/zip instead — an index.html at the zip root becomes the homepage.
What free includes
- Single HTML files up to 10 MB: inline CSS, JS, images and CDN references all work
- ZIPs up to 25 MB and 100 files: whole folders unpack at the subdomain root, so relative links just resolve
- No signup, no card: an email address for the backup claim link is all the uploader asks
- Byte-for-byte storage: nothing injected except a small badge in browsers, removed on Pro
- Public but unlisted: an unguessable URL, noindex headers, and no public directory of uploads
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 |
| Named URLs that redeploy in place | No | Yes | Yes |
| Password protection | No | Yes | Yes |
| Vanity subdomain | No | No | Yes |
What runs here — and what doesn't
This is static hosting in the literal sense: HTML, CSS, JavaScript, images, fonts, PDFs. Client-side JavaScript runs, including anything your page pulls from a CDN. Server-side code does not: no PHP, no Node, no database. Forms need their own backend or a form service with CORS configured. If it opens from a double-click on your disk, it works here.
When free stops being enough
The free link is for sharing something now. Pro ($4 a month) is for when the page has a job: no expiry, a named URL that redeploys in place, password protection for visitors, 100 MB ZIPs with 10,000 files per request and 120 uploads a minute. Team ($19 a month) adds your own vanity subdomain.
Questions
Is it actually free?
Yes. Uploading without an account costs nothing and asks for no card: a single HTML file up to 10 MB, or a ZIP up to 25 MB and 100 files. Paid plans exist for pages with a job to do: no expiry, a named URL you can redeploy to and password protection. That's the whole business model.
Do I need to sign up or log in?
No account, no password, no OAuth dance. The uploader asks for an email address only so a backup claim link can reach your inbox — nothing to log into, nothing to remember.
Will my page show up on Google?
Every page sends X-Robots-Tag: noindex, nofollow, and there is no public directory of uploads. That is a request, not a lock: anyone holding the link can open and forward it. Don't upload secrets; paid plans add real password protection.
What are the limits?
One HTML file up to 10 MB per upload. ZIPs up to 25 MB compressed, 100 files and 100 MB unpacked. 10 uploads a minute. Pro raises that to 100 MB ZIPs, 10,000 files per request and 120 uploads a minute.
Can I update the page after uploading?
Free uploads are immutable: upload again, get a new link. For a page that changes in place, a paid named deployment replaces content at the same URL on every upload — from the dashboard, the API or the GitHub Action.
Can I use my own domain?
Free pages live on their own unguessable subdomain. Team plans add vanity hostnames; bringing a fully custom domain is a paid feature — check the pricing page for the current shape.
How long does the link stay live?
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, or for exactly the TTL you set, from 60 seconds up.
Keep reading
The file is the deploy
No account, no key, no project. One upload and the URL is live; claim it for free to keep it longer.