Put a surprise website online for someone
Upload your HTML file, ZIP or folder to ship.page and send the link to your partner, friend or teacher for free with no signup, no credit card and a live HTTPS URL in seconds. The free plan is free forever with unlimited uploads and takes single HTML files up to 10 MB or ZIPs up to 25 MB (100 MB unpacked) with up to 100 files per upload.
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.
- Max size for a single HTML file on every plan
- 10 MB
- Max ZIP on the free plan (100 MB unpacked)
- 25 MB
- Files per upload on the free plan
- 100 files
- Free forever, no signup, no credit card
- $0
How to publish your HTML page and send the link
Name your main file index.html
If your site is one HTML file, you can upload it with any name. If you have a folder with images, CSS, audio or multiple pages, name the homepage index.html so it opens first.
Drag the file, folder or ZIP onto ship.page
Drop your .html file, folder or .zip into the browser uploader, pick it from your computer, or paste raw HTML. You do not need an account or a credit card.
Test the link and fix any typos
Your page is live in seconds on its own subdomain over HTTPS. Open the link on your phone to check photos and layout; if you edit a free page, just upload it again to get a fresh link before you share it.
Send the link or print the QR code
Copy the URL into a text message or card, or download the PNG QR code from the success screen so the person can scan it from paper.
Ways to put a surprise HTML website online
| Route | Account | Time to a link | Update later |
|---|---|---|---|
| ship.page free | None required (free account optional) | Seconds | New upload gets a new link |
| ship.page Pro ($4/mo) | Account required, monthly billing | Seconds | Re-upload or edit and keep the same link |
| GitHub Pages | GitHub account and public repository | A few minutes | Push to repository to update same URL |
| Netlify Drop | Account needed to remove temp password | Seconds (after claiming) | Re-upload in Netlify dashboard |
How do I keep a surprise website hidden until I send it?
Every page uploaded to ship.page is sent with a noindex header, and ship.page does not list uploads anywhere public. Search engines leave your page out of search results, so the person you built it for will not stumble across it on Google.
Anyone who has the link can open the page right away without logging in. If you are making a birthday website or an invitation website and want a password on the page itself, Pro ($4 a month, cancel anytime) adds password protection and up to 5 custom subdomains like yourname.ship.place that you can point at any of your pages.
Tip: The upload screen also gives you a website QR code as a PNG download, which fits nicely inside a printed card or gift tag.
What can I include in my HTML project?
ship.page hosts static files only, which covers HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly and JSON. You cannot upload a lone image, video or PDF by itself; put media files inside a folder or ZIP alongside an index.html file that displays them.
Server code like PHP, Node.js, Python, databases and WordPress does not run here, and contact or RSVP forms need a third-party form service. Keep file names and image tags matching letter-for-letter because file paths are case-sensitive (photo.JPG and photo.jpg are treated as two different files).
- Single HTML file up to 10 MB on every plan (good for one-page sites with inline CSS and JS).
- Folder upload in one request up to 10 MB encoded (roughly 7 MB of files); zip bigger folders first.
- Free ZIPs up to 25 MB (100 MB unpacked) and 100 files per upload, up to 10 deploys a minute.
- Pro ZIPs up to 100 MB (400 MB unpacked) and 10,000 files per upload, up to 120 deploys a minute.
What if I spot a typo after I upload?
You can publish without an account, or claim the page with a free account (sign in with Google or an email link, no credit card) to manage it from a dashboard. A free page cannot be updated in place; uploading your fixed file creates a new link, which is fine as long as you have not sent the first link out yet.
If you already printed the QR code or texted the link to your boyfriend, girlfriend or teacher, Pro ($4 a month) lets you re-upload or edit the page and keep the exact same link. Pro pages do not expire while you are on Pro (or you can pick any expiry from 60 seconds), and Pro removes the small closeable "Hosted on ship.page" badge shown on free pages.
When is GitHub Pages or Netlify Drop a better fit?
Use GitHub Pages when your school project is already in a public GitHub repository, when you need up to 1 GB of storage, or when you want to connect a custom domain (no ship.page plan offers custom domains). GitHub Pages is free for public repositories on GitHub Free with a 100 GB monthly soft bandwidth limit and a soft limit of 10 builds an hour, though it is not allowed as free hosting for a commercial, e-commerce or SaaS business.
Use Netlify Drop (app.netlify.com/drop) if you already have a Netlify account and a folder under 50 MB with individual files under 10 MB. You can drop a folder, ZIP or single HTML file without signing in to start, but an unclaimed drop stays behind a temporary password and expires on its own until you claim it with a Netlify account, so for an instant HTML to link workflow with no signup at all, ship.page is faster.
Questions
How do I put a surprise website online for my boyfriend or friend for free?
Drag your HTML file, folder or ZIP onto ship.page. You get a live HTTPS link and a downloadable PNG QR code in seconds with no account and no credit card, and you can text the link or put the QR code in a card.
Can I share an HTML school project without signing up for hosting?
Yes. Drop your .html file or project ZIP (up to 25 MB and 100 files on the free plan) onto ship.page and send the link to your teacher or classmates. No account is needed to publish, and visitors do not need an account to view it.
Why did my images break after I uploaded my folder?
Check two things: make sure the images were uploaded together with your index.html inside the same folder or ZIP, and check that the file names in your HTML match the real file names with the exact same uppercase and lowercase letters, because file paths are case-sensitive.
Can someone find my surprise page on Google before I send it?
No. Every uploaded page includes a noindex header so search engines leave it out of results, and ship.page never lists uploads in a public directory. Only people who have your link can open it.
How do I fix a mistake on my page after I already shared the link?
On the free plan, a new upload always gets a new link. To update a page and keep the same URL, upgrade to Pro for $4 a month (billed monthly, cancel anytime), which lets you re-upload or edit your page in place.
Keep reading
- Birthday website hosting
- Invitation website hosting
- Turn HTML into a link
- Get a QR code for your website
Put your surprise page online now
Drop your HTML file, folder or ZIP to get a shareable link and QR code in seconds, free and with no signup.