Skip to content
HTML FILE TO A WEBSITE URL

Host an HTML file and get a shareable URL

Drop your .html file on ship.page, pick it from your computer, or paste the code to copy a live HTTPS link right away. ship.page publishes it free forever with no signup, no credit card, and no account, live in seconds. You can upload a single HTML file up to 10 MB or a ZIP up to 25 MB (up to 100 files) with unlimited uploads.

Ready to ship

A file. A folder. A fresh start.

Your static site, one link away.

No account needed

Shipping…

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 free ZIP upload (100 MB unpacked, 100 files)
25 MB
Free forever with no signup, no card, and no ads
$0
Pro plan for in-place updates and password protection
$4/mo

How to turn an HTML file into a link on ship.page

  1. Prepare your HTML file or folder

    Save your page as a single .html file up to 10 MB. If your page uses separate CSS, JavaScript, or image files, name the main file index.html and put everything in one folder or a .zip file up to 25 MB.

  2. Drop it in the browser

    Drag your .html file, folder, or ZIP onto ship.page, pick it from your device, or paste raw HTML code into the box. You do not need an account or a credit card to publish.

  3. Copy the live URL or QR code

    Your page is live in seconds over HTTPS on its own subdomain. Copy the link to send it anywhere, or download the PNG QR code from the success screen.

Free ways to get a shareable link from an HTML file

RouteAccount to publishSteps to a linkCatch
ship.pageNoDrop file or ZIP, copy URLStatic files only, no custom domains
Netlify DropNo (needed to remove password)Drop file, sign in to lift the passwordBehind a temporary password until claimed
Cloudflare DropNo (needed within 60 minutes)Drop file, copy workers.dev URLMust claim with an account within 60 minutes
Vercel DropNo for static sitesDrop file, copy URLExpires after 1 hour unless claimed
GitHub PagesYes (GitHub account)Create public repo, commit file, enable PagesPublic repo on Free, no commercial sites

What other drop tools ask for before your link works

Several hosts let you drag and drop a file in the browser before signing in, but add a gate or a one-hour timer before other people can keep using the link. If you just need to turn HTML into a link and paste it in a chat, check what visitors will see when they click.

On ship.page, you publish without an account and the URL works for anyone with the link right away. You can claim the page with a free account (sign in with Google or an email link, no card) when you want and it stays online as long as you keep it.

  • Netlify Drop (app.netlify.com/drop) takes a folder, ZIP, or single HTML file with no account to start, but an unclaimed drop stays behind a temporary password until you claim it with a Netlify account, and expires on its own if left unclaimed. Deploys under 50 MB work best, and single files over 10 MB may get stuck.
  • Cloudflare Drop (cloudflare.com/drop) takes a folder, ZIP, or single HTML file with no account to start and publishes it on a workers.dev address running on Cloudflare Workers, not Pages. You must claim the deployment within 60 minutes with a Cloudflare account to keep it.
  • Vercel Drop (vercel.com/drop) deploys a file, folder, or ZIP from the browser with no Git or CLI. Since October 19, 2026, static sites work without an account, and those deployments expire after one hour unless you sign in and claim the project (framework projects need a signed-in account).
  • GitHub Pages requires a GitHub account and a repository before you can publish. It is free for public repositories on GitHub Free, supports custom domains, and allows sites up to 1 GB at owner.github.io with a 100 GB monthly soft bandwidth limit and 10 builds an hour, but it is not allowed as free hosting for a commercial, e-commerce, or SaaS business.

Tip: Pick GitHub Pages when you want a custom domain and already keep your code in a public Git repository. Pick ship.page when you want a working link in seconds without signing in or unlocking a password.

Single HTML files vs folders and ZIP archives

When you host a single HTML page with inline CSS and JavaScript, you can drop that one .html file directly onto ship.page. The single-file limit is 10 MB on every plan, and you can also paste raw code straight from an editor or AI chat if you just need an online HTML viewer.

When your project has local images, stylesheets, fonts, or scripts, put them in a folder or ZIP with an index.html file at the root as the homepage. If your ZIP has a single top folder, ship.page unwraps it automatically so your homepage still opens at the root address.

  • Free plan limits: 10 MB single HTML file, 25 MB ZIP (100 MB unpacked), 100 files per upload, and 10 deploys a minute.
  • Folder uploads go up as one request of at most 10 MB with the files encoded inside it (roughly 7 MB of files); zip bigger folders first.
  • A lone PDF, image, or video file is not accepted by itself; put it in a folder or ZIP with an index.html file.
  • File paths are case-sensitive, and a file saved as about.html opens at /about.html (use about/index.html for the shorter /about address).
  • There is no single-page-app fallback and no custom 404 page, so client-side routers should use hash routes like #/about.

Updating your link, custom subdomains, and privacy

Every uploaded page is sent with a noindex header so search engines leave it out of search results, and ship.page does not list uploads anywhere public. Anyone with the link can open it, and free pages show a small Hosted on ship.page badge that visitors can close.

A free page cannot be updated in place; if you upload an HTML file again, it gets a new link. Pro is $4 a month (billed monthly, cancel anytime) and lets you re-upload or edit a page and keep the same link. Pro pages never expire, or you can pick any expiry from 60 seconds.

  • Pro removes the badge, adds password protection, and raises limits to 100 MB ZIPs (400 MB unpacked), 10,000 files per upload, and 120 deploys a minute.
  • Pro includes up to 5 custom subdomains like yourname.ship.place (3 to 40 characters of a-z, 0-9, and single hyphens) that you can point at any of your pages and move anytime.
  • Developers can also publish with one curl command (POST https://ship.page/deploy), the MCP server at https://ship.page/mcp, or the GitHub Action.

Questions

How do I turn an HTML file into a link for free?

Drag and drop your .html file onto ship.page, choose it from your device, or paste the HTML code. You get a shareable HTTPS link and a downloadable PNG QR code in seconds with no signup and no credit card.

Does the person opening my link need an account or password?

No. Anyone who has your ship.page link can open it right away in any browser. Unlike Netlify Drop, an unclaimed upload is not locked behind a temporary password, and Pro users can add password protection when they want it.

Can I upload CSS, JavaScript, and images along with my HTML file?

Yes. Put your index.html file and all supporting CSS, JavaScript, images, fonts, audio, video, WebAssembly, or JSON files into one folder or a ZIP file and drop it on ship.page. The free plan takes ZIPs up to 25 MB (100 MB unpacked) with up to 100 files.

Can I update my HTML file later and keep the same URL?

On the free plan, a page cannot be updated in place, so uploading a new version creates a new link. On the Pro plan ($4 a month), you can re-upload or edit a page in place and keep the exact same URL, or move one of your 5 custom .ship.place subdomains to any page.

Does ship.page run PHP, Node.js, or WordPress?

No. ship.page hosts static files only, which means HTML, CSS, JavaScript, images, fonts, media, WebAssembly, and JSON work in the browser, while PHP, Node.js, Python, databases, and WordPress do not run. If your HTML page has a contact form, point it at a third-party form service.

Keep reading

Drop your HTML file for a link

Drag an .html file, ZIP, or folder into the box or paste your code to get a live HTTPS URL in seconds with no signup.

Bitgate blog