DEV Community

htmlput
htmlput

Posted on

5 ways to put a single HTML file online, actually tested

Last week I published a Pomodoro timer as one self-contained HTML file — no build step, no dependencies, about 1.6 KB. The obvious next question: how do you actually get a file like that onto the internet?

I took the exact same file and ran it through five popular options in October 2026, timing each and writing down what each one really asks of you. No marketing copy — just the flows as they are.

1. GitHub Pages

The classic. Push your file to a repo, turn on Pages, get a username.github.io/repo link.

What actually happened: I wasn't signed into GitHub in this session, so the flow stops at the account wall: create a repo, add the file as index.html, go to Settings → Pages, deploy from a branch, wait about a minute for the first build.

Time to link: not timed hands-on (account required); about a minute after the first push per the documented flow.

2. Cloudflare Pages

What actually happened: same story — this one needs a Cloudflare account before anything else. After that it's "Upload assets" (drag a folder straight into the dashboard, no git needed) or connect a git repo, then deploy.

Time to link: not timed (account required).

3. Netlify Drop

What actually happened: the only one of the five with no account gate on the front door. Open app.netlify.com/drop and you get a giant "Drag & drop to publish instantly" zone — drop a file, a folder, or a zip (their FAQ explicitly blesses dropping a single index.html), or use the file/folder picker buttons. No login to start dropping.

I couldn't complete the drop in this session — I had the file as pasted text, not as a file on disk — but the UI is exactly what it claims to be. Their FAQ: drops stay on the free plan "for as long as you like," and you can rename the project or attach a custom domain from the dashboard (which is where the account comes in).

Time to link: seconds after the drop, by design; not timed end-to-end here.

4. htmlput — paste the code

(Disclosure: I built this one.)

What actually happened: opened htmlput.com, pasted the full file into the editor — it counted "1.5 KB of 1 MB used" — ticked the Cloudflare "Verify you are human" checkbox, clicked "Host now"… and landed on the sign-in page: "Please sign in to host a page." Their FAQ confirms it: "Yes. Create a free account (or sign in), then paste HTML or upload a ZIP to get a share link in seconds."

So the paste flow is real and quick, but anonymous hosting is gone — you need the free account first. The free tier is 30 MB of storage, and per their FAQ, "hosted pages stay available and share links keep working unless you delete the page."

Time to link: blocked at sign-in; the paste-and-verify part took under a minute.

5. tiiny.host — Paste HTML

(Side note: itty.bitty, the link-in-a-URL trick, no longer resolves — DNS failure, tried twice — so tiiny.host stood in for this slot.)

What actually happened: opened tiiny.host, switched to the "Paste HTML" tab, pasted the code (their editor reformatted it), clicked Continue — the file staged as code.html (index), 1.67 KB — and then: "Please verify your email. We need to verify your email to reduce spam." Google, GitHub, Microsoft, or Yahoo SSO, or an email field. I stopped there rather than create an account.

Their FAQ: links stay online indefinitely on the free plan as long as you log into your account once every 3 months.

Time to link: blocked at email verification.

The comparison

Method Steps Time to link Custom domain on free Expiry Best for
GitHub Pages new repo → add index.html → Settings → Pages → deploy from branch ~1 min after push (documented; account needed, not timed) yes none maintained projects
Cloudflare Pages account → Pages → Upload assets or connect git → deploy not timed (account needed) yes none projects that will grow
Netlify Drop open app.netlify.com/drop → drop file, folder, or zip seconds after drop (not timed end-to-end; no local file in session) via dashboard (account) none — "as long as you like" fastest share of a file on disk
htmlput paste code → verify you're human → Host now → sign in blocked at sign-in (free account required) not stated none, until you delete the page paste-and-share once you have an account
tiiny.host Paste HTML tab → paste → Continue → verify email blocked at email verification feature listed; free-tier terms not verified indefinite if you log in every 3 months quick share once you have an account

How to choose (no winner declared)

  • Maintained project → Pages. Git history, real custom domains, nothing expires. The minute of setup pays off forever.
  • One file in 30 seconds → a paste host. Just know that in 2026 both paste options I tried want an account first — "instant" starts after signup.
  • A file sitting on your disk and zero patience for signup forms → Netlify Drop. It's the only flow here that goes from file to link with no account in between.

The honest surprise of this test: the "no signup needed" era of paste-and-host is mostly over. The real cost was never money — it's the account.

Top comments (0)