Seven ways to put a single HTML file online for free — GitHub Pages, Netlify, Cloudflare, Vercel, Tiiny, Neocities, and a private-link option — with an honest table of which fits which job, public or private.
Two tools that both turn a dragged file into a URL. One is designed for public deploy testing; the other for private one-recipient delivery. When each fits, where the overlap is real.
Vercel Drop turns a dragged file into a live production URL on a major platform. miinideck turns one into a private link for specific people. Both fit 'drag a file, get a URL' — and were built for opposite jobs. When each fits, where the overlap is narrow.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.
Vercel just shipped drag-a-file-get-a-link. With Netlify, tiiny, and others already here, sharing a built page as a live link is officially the new normal. Here's the whole landscape of tools — and how to pick one — if you're done emailing PDFs.
"What's the best free way to host a single HTML file" sounds like one question with one answer. It's actually two questions wearing one coat — and most "best free HTML hosting" lists only answer the first.
The fork: is the page meant to be found, or meant for specific people? A launch page, a portfolio, a public demo wants reach — the more eyes the better. A client report, a draft, a private invite wants the opposite — it should open for the people you send it to and stay off search engines. Those are different jobs, and they point at different hosts.
Here's the honest landscape for both.
| Host | Free tier | Ease of setup | Visibility | Best for |
|---|---|---|---|---|
| GitHub Pages | Free, permanent | Hard — needs a git repo | Public, indexed | Permanent free public pages, if you're OK with git |
| Cloudflare Pages | Free, generous, fast CDN | Hard — git / CLI | Public, indexed | Performance and scale; free custom domain |
| miinideck | Free: unlimited links & projects | Easiest — drop one file |
(Free tiers shift — verify current limits before you commit a workflow to one.)
Six of the seven are built for this, and they're genuinely good at it.
GitHub Pages is the honest winner for permanent, free, public. It serves a static site straight from a repo, costs nothing, has no real bandwidth cap for normal use, and the page lives as long as the repo does. The cost is the workflow: you need a git repository, and the page is public and indexed. For a developer who already lives in git, there is no better free deal.
Cloudflare Pages is the one to reach for when performance or scale matters. Free, a fast global CDN in front of every page, unlimited sites on the free plan, and a free custom domain. Git-based like GitHub Pages, so the same workflow cost applies.
Netlify is a popular no-CLI option: Netlify Drop lets you drag a folder onto a page and get a live URL, no git required (a full git-connected workflow is there too). Generous free bandwidth, global CDN. One honest caveat from actually using it — despite the drag-and-drop, the account flow and the folder-not-a-file model trip up true beginners. It's more developer-friendly than beginner-friendly.
Vercel is the right shape when the thing is a framework app — Next.js, React, a build step. The free hobby tier is for personal, non-commercial projects; commercial use moves you to a paid plan, so check the terms if it's for work.
Tiiny.host is the one to beat for beginner-friendly: drop a single HTML file, get a URL — no git, no folder, barely any account friction. If you've never deployed anything before, this is the lowest-friction public option there is. The free tier is time-limited (the page expires after about 7 days; permanent hosting starts around $6/mo), which makes it ideal for a quick public share and less so for something permanent. For a head-to-head on where a private-link host fits next to it, miinideck vs tiiny.host walks the two design intents.
Neocities is the home for personal and creative pages — a free 1 GB tier, an in-browser editor, and a community in the spirit of the old personal web. Less a deploy target for work, more a place for a page that's yours.
The thread across all six: the page is public. That's a feature when you want reach, and a problem when you don't.
This is the half most lists skip, and it's a real job: a client report with private numbers, a draft you're not ready to publish, an invite for a named list. On a public host, the same page that's "free and online" is also findable — it will surface in search within a few weeks, and there's no access control beyond a hard-to-guess URL you have to add yourself.
A private-link host inverts the defaults. The page is noindex by default (it won't be crawled into search), it sits behind an unguessable URL that acts as the access key, and you can add a password for anything sensitive. The job isn't reach by default — it's control: the page opens for the people you choose, and you can still flip a specific document to searchable when you do want that one found.
That's the slot miinideck fills — and setup is as low-friction as Tiiny: drop one HTML file, get a link. The free tier gives you unlimited links and projects — each a private, noindex page with free password protection — and links auto-expire after 7 days (you keep one always-on permanent link), with a small "Powered by" footer on shared links. Paid tiers ($4.99/mo Solo, $14.99/mo Studio) make every link permanent, drop the footer, add a custom domain, and let you opt individual documents into searchable (1 on Solo, up to 5 on Studio) — so visibility is a per-page choice, not a lock.
To be clear about where it doesn't fit: for a permanent free public site, miinideck is the wrong tool — its public opt-in is a per-document setting on paid tiers, not free public-site hosting — and GitHub Pages is the right one. The private-link host earns its place when "who can see this" is a question you want to answer yourself. For the channel choice once a page is private, sharing an HTML report with a client compares the options.
The honest one-line routing:
Most "best free HTML hosting" questions are really public-hosting questions — and the public hosts here answer them well. The job those lists almost always skip is the private one: a page meant for specific people, not the open web. That's the only job miinideck is the answer to. Pick the row that matches the job, not the host with the loudest free tier.
| Private by default; opt-in searchable |
| Deciding who sees a page — private, or public per document |
| Netlify (Drop) | Free (~100 GB/mo) | Medium — account + folder deploy | Public, indexed | No-CLI public deploys |
| Vercel | Free hobby (personal use) | Hard — git / CLI | Public, indexed | Framework apps (Next, React) |
| Tiiny.host | Free 7 days, then ~$6/mo | Easiest — drop one file | Public, indexed | The simplest public single page |
| Neocities | Free 1 GB | Medium — web editor | Public, community | Personal / creative pages |