Upload an HTML file and get a public URL
Drop your .html file on ship.page (or pick it, or paste the code) and copy a live HTTPS link in seconds, free forever with no signup and no credit card. You can upload single HTML files up to 10 MB, folders, or ZIPs up to 25 MB (100 MB unpacked) with up to 100 files per upload and unlimited uploads.
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
- Free ZIP limit (100 MB unpacked, up to 100 files)
- 25 MB
- Free forever with no signup, no card and no ads
- $0
- Pro: keep the same link on updates, passwords, 100 MB ZIPs
- $4/mo
How to turn an HTML file into a public link
Drop your .html file, folder, or ZIP
Open ship.page and drag an .html file, a folder of static files, or a .zip onto the drop zone, or paste raw HTML straight into the browser. A single HTML file can be up to 10 MB, and no account is needed to publish.
Copy your live HTTPS link and QR code
Your page is live in seconds on its own subdomain over HTTPS. The success screen gives you the public URL to copy plus a QR code with a PNG download.
Claim or upgrade when you need to manage it
Publish without an account, or claim the page with a free account (sign in with Google or an email link, no card) to manage it from a dashboard. On the $4 a month Pro plan, pages do not expire while you are on Pro and you can re-upload to keep the same link.
Ways to upload an HTML file and get a public URL
| Route | Account to publish | Steps to a link | Catch |
|---|---|---|---|
| ship.page | No account needed | Drop .html, folder or ZIP, copy URL | Static files only; no custom domains |
| Netlify Drop | None to drop; account to remove password | Drop file at app.netlify.com/drop | Unclaimed site stays behind a temporary password and expires |
| Cloudflare Drop | None to drop; account within 60 min | Drop file at cloudflare.com/drop | Must claim within 60 minutes with a Cloudflare account |
| Vercel Drop | None for static; account within 1 hour | Drop file at vercel.com/drop | Expires after 1 hour unless you sign in and claim it |
| GitHub Pages | GitHub account required | Create public repo, commit index.html, enable Pages | Public repo on free plan; no commercial or SaaS use |
Which instant HTML hosting tool gives you a working link right away
If you just want to upload an HTML file and send someone the URL, ship.page gives you a public link right away with no login wall in front of your visitors. You drop the .html file (or paste the code), and anyone with the link can open it over HTTPS.
Other browser drop tools let you start without signing in, but ask for an account before the link works cleanly for everyone else. Netlify Drop (app.netlify.com/drop) accepts a single HTML file, folder or ZIP, yet an unclaimed drop stays behind a temporary password until you claim it with a Netlify account, and unclaimed drops expire on their own. Netlify's docs also note that deploys under 50 MB work best and single files over 10 MB may get stuck.
Cloudflare Drop (cloudflare.com/drop) and Vercel Drop (vercel.com/drop) both take a single HTML file, folder or ZIP with no account to start. Cloudflare Drop requires you to claim the deployment within 60 minutes with a Cloudflare account to keep it, and Vercel Drop static deployments (available without an account since October 19, 2026) expire after one hour unless you sign in and claim the project.
What does the public address look like on each route
Each service puts your page on a different default address. Every upload on ship.page gets its own subdomain served over HTTPS, and Pro users ($4 a month) can also claim up to 5 custom subdomains like yourname.ship.place (3 to 40 characters of a-z, 0-9 and single hyphens) and point them at any page.
Cloudflare Drop publishes your upload on a workers.dev address because it runs on Cloudflare Workers rather than Pages. GitHub Pages publishes at owner.github.io (or username.github.io) and is the better pick when you need a custom domain, up to 1 GB of site storage, and 100 GB of monthly bandwidth from a public GitHub repository.
- ship.page: its own random subdomain over HTTPS, plus optional yourname.ship.place on Pro
- Cloudflare Drop: a workers.dev address on Cloudflare Workers
- GitHub Pages: owner.github.io or your own custom domain
- Every ship.page upload sends a noindex header so search engines leave it out
Tip: If you need a custom domain or a 1 GB site and do not mind creating a public repository, use GitHub Pages (note that GitHub Free does not allow commercial, e-commerce or SaaS hosting).
What files work when you turn an HTML file into a link
When you host a single HTML page on ship.page, the uploader accepts a single .html file, pasted HTML, a folder, or a .zip archive. The file named index.html becomes the homepage, and if your ZIP has a single top folder, ship.page unwraps it automatically.
You can include CSS, JavaScript, images, fonts, audio, video, WebAssembly and JSON alongside your HTML. A lone PDF, image or video file is not accepted by itself; put it in a folder or ZIP with an index.html file. Folder uploads go up as one request of at most 10 MB (roughly 7 MB of files), so zip larger folders first.
- Free plan: 10 MB per single HTML file, 25 MB ZIP (100 MB unpacked), 100 files per upload, 10 deploys a minute
- Pro plan ($4/mo): 10 MB per single HTML file, 100 MB ZIP (400 MB unpacked), 10,000 files, 120 deploys a minute
- Clean paths: a page at about/index.html opens at /about, while about.html opens at /about.html
- Client-side routers: use hash routes (#/about) since there is no single-page-app fallback or custom 404
- Pre-compressed .br or .gz files are served as-is with no Content-Encoding, so turn compression off or use a JS decompressor
Tip: Developers can also go from HTML to a link from the terminal with one curl command (POST https://ship.page/deploy), the MCP server at https://ship.page/mcp, or the GitHub Action.
Managing, updating and protecting your page
You can use ship.page as an instant HTML viewer with no account at all. If you want to see your uploads in one place, sign in with Google or an email link (no credit card) to claim the page and manage it from your dashboard. On the free plan, a page cannot be updated in place; uploading a new version gives you a new link.
Pro is $4 a month (billed monthly, cancel anytime, no yearly plan). Pro pages do not expire while you are on Pro, or you can pick any expiry from 60 seconds. Pro also lets you re-upload or edit a page and keep the same link, add password protection, and remove the small closable Hosted on ship.page badge shown on free pages.
Questions
Where can I upload an HTML file and get a link for free?
You can drop an .html file, a folder, or a ZIP directly onto ship.page and get a live HTTPS URL and QR code in seconds. The free plan is free forever with no signup, no credit card, no ads, and unlimited uploads up to 10 MB per single HTML file or 25 MB per ZIP.
Do I need an account to get a public URL for my HTML file?
On ship.page, no account is needed to publish and the link works immediately for anyone you send it to. On Netlify Drop, an unclaimed upload stays behind a temporary password until you claim it with an account, and on Cloudflare Drop and Vercel Drop you must sign in and claim the deployment within 60 minutes (1 hour) or it expires.
Can I update my HTML file later and keep the same URL?
On the free plan, pages cannot be updated in place, so uploading a new file creates a new URL. On the $4 a month Pro plan, you can re-upload or edit your page and keep the exact same link, or point a custom subdomain like yourname.ship.place at any of your pages.
Can I upload CSS, JavaScript, and images with my HTML file?
Yes. Put your index.html file along with your CSS, JavaScript, images, fonts, audio, video, WebAssembly, or JSON into a folder or a ZIP file and drop it on ship.page. Free uploads support up to 100 files and 25 MB zipped (100 MB unpacked), and file paths are case-sensitive.
Will search engines index my uploaded HTML page?
No. Every page uploaded to ship.page is served with a noindex header so search engines leave it out, and ship.page does not list uploads anywhere public. Only people who have your link can open it, and Pro users can also add a password.
Does ship.page support PHP, Node.js, or custom domains?
No. ship.page hosts static files only, so server code like PHP, Node.js, Python, databases, and WordPress will not run, and forms need a third-party form service. No plan offers custom domains, though Pro includes up to 5 custom subdomains on ship.place; if you need a custom domain for static HTML, use GitHub Pages.
Keep reading
Drop your HTML file for a link
Drag in an .html file, folder or ZIP and get a live HTTPS URL in seconds with no signup.