Skip to content
Surge alternatives, free and no signup

Surge.sh alternatives for free static hosting, compared

With ship.page, you can publish a static site in your browser for free with no signup, no credit card, and no command line. Drag in an .html file up to 10 MB, a .zip up to 25 MB (100 MB unpacked), or a folder of up to 100 files, and your HTTPS link is live in seconds with unlimited uploads. If you want a free custom domain instead, Cloudflare Pages or Surge itself is the better pick.

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.

Free plan with no trial, no credit card, and no ads
$0 forever
Up to 100 MB unpacked and 100 files per free upload
25 MB ZIP
Single HTML file limit on every plan, live in seconds
10 MB HTML
Password protection and permanent links, vs $30 on Surge
$4/mo Pro

How to publish a static site without the Surge CLI

  1. Prepare your HTML file, folder, or ZIP

    Make sure your project has an index.html file at the root, since ship.page uses it as the homepage. You can upload a single .html file up to 10 MB, a folder up to roughly 7 MB of files (sent as one 10 MB request), or host a ZIP file up to 25 MB (100 MB unpacked).

  2. Drop it into the browser or run one curl command

    Open ship.page and drag your file, ZIP, or folder onto the page, or paste raw HTML directly. If you prefer the terminal without installing npm packages, send your upload with one curl command to POST https://ship.page/deploy, or use the MCP server at https://ship.page/mcp or the GitHub Action.

  3. Share the HTTPS link or QR code

    Your site goes live in seconds on its own subdomain over HTTPS, and the success screen gives you a QR code with a PNG download. Every page sends a noindex header so search engines leave it out, while anyone with the link can open it.

  4. Claim the link or upgrade if you need updates in place

    Sign in with Google or an email link for free to claim the page and it stays online as long as you keep it, or upgrade to Pro for $4 a month for permanent links, in-place updates, and password protection.

Your options

  • ship.page

    Best for
    Publishing an HTML file, ZIP, or folder in the browser or with one curl command without creating an account.
    Free
    Free forever with unlimited uploads, no bandwidth limits, 10 MB single HTML files, and 25 MB ZIPs (100 MB unpacked, 100 files).
    Catch
    No custom domains on any plan, and free pages cannot be updated in place.
  • Cloudflare Pages

    Best for
    Long-term sites that need a free custom domain and unmetered bandwidth.
    Free
    500 builds a month, 20,000 files per site, 25 MiB per file, 100 custom domains per project at name.pages.dev, and no bandwidth quota.
    Catch
    Requires a Cloudflare account, and Cloudflare's docs now suggest starting new projects on Workers.
  • Netlify

    Best for
    Git-based workflows that rely on free deploy previews before merging.
    Free
    300 credits a month on a name.netlify.app address, where a production deploy costs 15 credits, bandwidth costs 20 credits per GB, and deploy previews are free.
    Catch
    The 300-credit cap is a hard limit with no top-ups, and when credits run out every project is paused and shows Site not available.
  • GitHub Pages

    Best for
    Open-source docs and personal sites that already live in a public GitHub repository.
    Free
    Published sites up to 1 GB at owner.github.io with custom domain support, a 100 GB monthly soft bandwidth limit, and a soft limit of 10 builds an hour.
    Catch
    Requires a GitHub account and a public repo on GitHub Free, and cannot be used for a commercial, e-commerce, or SaaS business.
  • Vercel

    Best for
    Personal, non-commercial frontend projects deployed from Git.
    Free
    Hobby is $0 for personal, non-commercial use with 100 GB of fast data transfer, 1,000,000 CDN requests a month, and 100 deployments a day at a vercel.app address.
    Catch
    Commercial use requires Pro starting at $20 a month.
  • Surge

    Best for
    Developers who live in the terminal and want a chosen surge.sh name or a free custom domain.
    Free
    $0 for unlimited projects, free custom domains with automatic HTTPS certificates, no bandwidth billing, and up to 450 MB and 10,100 files per project.
    Catch
    Requires Node.js and npm install --global surge, asks for an email and password in the terminal on first run, and puts new domains on hold after about an hour and a half until the email is verified.

Surge and its top free static hosting alternatives compared

HostAccount neededFree limitsCustom domain
ship.pageNo (optional free sign-in)25 MB ZIP (100 MB unpacked), 100 files, unlimited bandwidthNo
Cloudflare PagesYes (Cloudflare account)20,000 files, 25 MiB/file, 500 builds/mo, no bandwidth quotaUp to 100 per project
NetlifyYes (Netlify account)300 credits/mo (15/prod deploy, 20/GB); pauses at 0Supported
GitHub PagesYes (GitHub account + public repo)1 GB site, 100 GB/mo soft bandwidth, non-commercial onlySupported
VercelYes (Vercel account)100 GB transfer, 1M CDN requests/mo, non-commercial onlySupported
SurgeYes (email + password in CLI)450 MB and 10,100 files per project, no bandwidth billingFree with automatic HTTPS

When should you stay on Surge.sh?

Surge is still a strong free website hosting tool if you already have Node.js installed and want to deploy from your terminal. Its free plan gives you unlimited projects, free custom domains with automatic HTTPS certificates, no bandwidth billing, no overage charges, and up to 450 MB and 10,100 files per project.

You only need an alternative when the command-line setup gets in the way or when you need paid features at a lower price. Surge requires running npm install --global surge, asks for an email and password in the terminal on your first run, and puts a new surge.sh domain on hold after about an hour and a half until you verify that email. For a head-to-head breakdown, read our Surge vs ship.page comparison.

Which Surge alternative fits your workflow?

Pick the host that matches how you build and who will visit the link. If you want to hand a static build to a client, classmate, or teammate right now without creating an account or touching the terminal, ship.page is the fastest path.

If you need a permanent site on your own domain, look at the account-based hosts in our best free static hosting guide and watch their commercial and bandwidth rules.

  • No command line and no account: ship.page lets you drag an HTML file, ZIP, or folder into the browser or deploy via curl, with 10 deploys a minute on the free plan.
  • Cheaper password protection: ship.page Pro is $4 a month (and Team is $19 a month with a vanity subdomain), whereas Surge Pro costs $30 a month to add password protection and redirects.
  • Free custom domains with no bandwidth quota: Cloudflare Pages gives you 100 custom domains per project and 20,000 files per site for free, though Cloudflare's docs now suggest starting new projects on Workers.
  • Git deploy previews: Netlify gives you free deploy previews on a name.netlify.app address, but its free plan has a hard 300-credit monthly limit that pauses all your sites when spent.
  • Non-commercial Git hosting: GitHub Pages (up to 1 GB per site from a public repo) and Vercel Hobby (100 GB fast data transfer a month) are both free, but neither allows commercial use on the free tier.

What to know before moving a Surge project to ship.page

Both Surge and ship.page serve static files only: HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly, and JSON all work, while PHP, Node.js, Python, databases, and WordPress do not. Forms need a third-party form service.

On ship.page, file paths are case-sensitive and index.html is the homepage; a ZIP with a single top folder is unwrapped automatically. A page saved as about.html opens at /about.html, and the short /about address only works when the file is saved as about/index.html.

Tip: ship.page has no single-page-app fallback and no custom 404 page, so React, Vue, or Svelte apps with client-side routing should use hash routes (#/about). Files are served as they are with no Content-Encoding, so turn off .br or .gz pre-compression in your build tool or include a JavaScript decompressor.

Questions

Is there a Surge.sh alternative that works in the browser without the command line?

Yes. On ship.page you drag and drop an .html file, a .zip archive, or a folder straight into your browser, or paste HTML, with no account and no credit card. Your site goes live in seconds on its own HTTPS subdomain.

How long do free sites stay online on ship.page compared to Surge?

On Surge, a new surge.sh domain goes on hold after about an hour and a half until you verify your email, and then stays up. On ship.page, you can publish without an account; if you sign in for free with Google or an email link to claim the page (no card), it stays online as long as you keep it. Pro ($4 a month) and Team ($19 a month) pages never expire, or you can pick any expiry from 60 seconds.

Can I update an existing link the way I re-run surge on the same domain?

On the ship.page free plan, pages cannot be updated in place, so a new upload gets a new link. On the $4 a month Pro plan and $19 a month Team plan, you can re-upload or edit a page and keep the same link, and you also get ZIPs up to 100 MB (400 MB unpacked), 10,000 files per upload, and 120 deploys a minute.

How much does password protection cost on ship.page vs Surge?

Surge Pro costs $30 a month to add password protection and redirects. ship.page Pro costs $4 a month (billed monthly, cancel anytime) and includes password protection, permanent links, in-place updates, and removal of the closable Hosted on ship.page badge.

Which Surge alternative is best if I need a free custom domain?

ship.page does not offer custom domains on any plan. If you need a free custom domain with no bandwidth billing, stick with Surge (up to 450 MB and 10,100 files per project) or use Cloudflare Pages, which supports up to 100 custom domains per project and 20,000 files per site on its free plan.

Why did my Netlify site pause when I switched from Surge?

Netlify's free plan gives you 300 credits a month with a hard limit and no top-ups, where each production deploy costs 15 credits and bandwidth costs 20 credits per GB. When the 300 credits run out, every project on the account is paused and shows Site not available unless you upgrade to Personal ($9 a month for 1,000 credits) or Pro ($20 a month for 3,000 credits). Neither ship.page, Surge, nor Cloudflare Pages meters bandwidth.

Keep reading

Publish your static site in seconds

Drop an HTML file, ZIP, or folder into the browser for a free HTTPS link with no signup and no command line.