Free subdomain hosting

Can I host a website for free without buying a domain?

ship.page is a $0 static host that puts a 10 MB HTML file or 25 MB ZIP online on a free HTTPS subdomain with no signup and no credit card.

Yes, you can put a website online for $0 without buying a domain name. A paid domain is a root address like example.com, while a subdomain is a free address attached to a host's existing domain that works in any browser over HTTPS. If you want a working link right now, ship.page gives you a random subdomain in seconds for HTML files up to 10 MB or ZIPs up to 25 MB (100 files, 100 MB unpacked), while hosts like GitHub Pages, Cloudflare Pages, Neocities and InfinityFree give you 1 GB to 5 GB of space if you create an account first.

Host Price Free limits Main catch
ship.page $0 forever (Pro $4/mo, Team $19/mo) 10 MB HTML, 25 MB ZIP (100 MB unpacked, 100 files), unlimited uploads and bandwidth Random subdomain on Free and Pro; no custom domains or server code; pages use noindex
GitHub Pages $0 1 GB site size, 100 GB monthly soft bandwidth, 10 builds/hour Needs a GitHub account and public repo on Free; no commercial, e-commerce or SaaS use
Cloudflare Pages $0 20,000 files (25 MiB each), 500 builds/month, no bandwidth quota, 100 custom domains Needs a Cloudflare account; docs now point new projects to Workers
Netlify $0 300 credits/month (15 per prod deploy, 20 per GB bandwidth) Hard 300-credit cap with no top-ups; when credits run out, every project pauses
Neocities $0 (Supporter $5/mo) 1 GB storage, 200 GB monthly bandwidth Needs an account; file type restrictions on Free; custom domains cost $5/mo
InfinityFree $0 5 GB disk, unlimited bandwidth, PHP and MySQL Needs an account and control panel setup instead of drag-and-drop

ship.page

We start with ship.page when we just want a site online today because it's free forever, needs no signup and no credit card, and gives you unlimited uploads with no bandwidth limits. You drop an .html file up to 10 MB, a .zip up to 25 MB (up to 100 files and 100 MB unpacked) or a folder of up to 100 static files into the browser, or paste raw HTML, and you get a live HTTPS link on an unguessable random subdomain in seconds. You skip domain registrars, DNS records and account forms. If you work from a terminal or a pipeline, you can also publish with a single curl POST to https://ship.page/deploy without an account or API key, through an MCP server for AI agents, or with a GitHub Action.

If you sign in with Google or an email link to claim a page into a free account (still no card), that page stays online as long as you keep it. Free pages show a small "Hosted on ship.page" badge that visitors can close, and every upload gets a new link. The $4 a month Pro plan removes the badge, raises the limit to 100 MB ZIPs (400 MB unpacked) and 10,000 files, adds password protection and analytics, lets you update a page in place at the same URL, and makes pages never expire (or lets you set any expiry from 60 seconds). The $19 a month Team plan adds a vanity subdomain.

The limits are worth knowing up front. It hosts static files only (HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly and JSON), with no server code, database or build step, and a lone PDF, image or video has to go inside 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. Paths are case-sensitive, about.html serves at /about.html unless you use about/index.html for /about, there's no single-page-app fallback or custom 404 (so React or Vue routers need hash routes like #/about), and files are served without Content-Encoding, which means you should turn off .br or .gz pre-compression. No plan supports custom domains, and every page is served with noindex, nofollow and no public upload list, so it isn't for sites that need search traffic.

Best for getting a live HTTPS link in seconds from an HTML file, folder or ZIP with no account.

GitHub Pages

GitHub Pages gives you a free owner.github.io subdomain that matches your username, and it lets you connect a custom domain later if you buy one. On the free tier, published sites can be up to 1 GB, with a 100 GB monthly soft bandwidth limit and 10 builds an hour.

The catch is that you need a GitHub account, your repository has to stay public on GitHub Free, and the service isn't allowed for commercial, e-commerce or SaaS businesses.

Best for developers who want a free owner.github.io address tied to a public Git repository.

Cloudflare Pages

Cloudflare Pages lets you pick your own name.pages.dev subdomain for free once you make a Cloudflare account. The free tier has no bandwidth quota and gives you 500 builds a month, up to 20,000 files per site at up to 25 MiB per file, and up to 100 custom domains per project.

You do have to sign up for an account first, and Cloudflare's documentation now suggests starting new projects on Workers.

Best for larger static sites that need a chosen name.pages.dev address and no bandwidth quota.

Netlify

Netlify gives you a chosen name.netlify.app subdomain and free deploy previews when you sign up and connect a project. Its free plan runs on a 300-credit monthly allowance, where each production deploy costs 15 credits and each GB of bandwidth costs 20 credits.

Watch the allowance closely. That 300-credit cap is a hard limit with no top-ups, and if your credits run out, Netlify pauses every project on the account and shows a "Site not available" page.

Best for Git-based static deploys that need a name.netlify.app address and free deploy previews.

Neocities

Neocities gives you a chosen name.neocities.org address with HTTPS, an in-browser editor, 1 GB of storage, 200 GB of monthly bandwidth, and no ads.

You have to create an account to use it, free accounts have upload file type restrictions, and connecting a custom domain requires the $5 a month Supporter plan.

Best for personal sites and hobby pages that want a chosen name.neocities.org address with an in-browser editor.

InfinityFree

Most free subdomain hosts only serve static files, so we keep InfinityFree on the list for projects that need PHP and MySQL. It gives you a free subdomain such as name.rf.gd (among others) with 5 GB of disk space, unlimited bandwidth, no ads on your site, no credit card and no expiry date.

There's no single drag-and-drop upload here; you have to sign up for an account and go through a control panel setup.

Best for sites that need PHP and MySQL on a free subdomain such as name.rf.gd.

FAQ

Can I host a website for free without buying a domain?

Yes. Every upload to ship.page gets its own subdomain with HTTPS for free, with no account or credit card required. GitHub Pages, Cloudflare Pages, Netlify, Neocities and InfinityFree also give you a free subdomain once you create an account.

Can I choose my own subdomain name on ship.page?

On the free plan and the $4 a month Pro plan, each upload gets an unguessable random subdomain. Picking a vanity subdomain requires the $19 a month Team plan, or you can use GitHub Pages, Cloudflare Pages, Netlify, Neocities or InfinityFree to choose a subdomain name for free with an account.

How long does a free ship.page link stay online?

If you claim your page into a free account using Google or an email link (with no credit card), it stays online as long as you keep it. On the $4 a month Pro and $19 a month Team plans, pages never expire, or you can set an expiry from 60 seconds upward.

Can I update my site at the same URL on ship.page?

On the free plan, each upload gets a new random link. Updating an existing page in place while keeping the same URL is a feature on the $4 a month Pro plan and the $19 a month Team plan.

What if I want to use Vercel instead?

Vercel Hobby is $0 for personal, non-commercial use and gives you a vercel.app address with 100 GB of fast data transfer, 1,000,000 CDN requests a month and 100 deployments a day.