OxyPages

How To Host An HTML File Without A Build Step

How To Host An HTML File Without A Build Step

You have one .html file and you need a link to send someone. Here is how to host an HTML file in about a minute, and what to do when it drags images along.

The OxyPages Team · · 7 min read

You have one .html file. Maybe you wrote it, maybe an AI did, maybe it came out of a design tool. Either way it sits on your desktop doing nothing, because a file on your computer has no address that anyone else can reach.

Search for how to host an HTML file and the first page is mostly guides that open with "install Node" or "initialise a repository". Those are real instructions for real projects. They are not instructions for your situation.

You have one finished file. It does not need building, compiling or version control. It needs somewhere to sit and a URL.

So here is the short version, the part that actually goes wrong, and the point where you should stop reading and go do something else entirely.

TL;DR: To host an HTML file, upload it to any static host and it is live at a URL, usually in under a minute and usually for nothing. No build step, no terminal, no git. The step that trips people is images and CSS: if your page references other files, upload the whole folder, not the single file, or every picture arrives broken. And if your page needs logins, a database or payments, no static host can help you, because a static host serves files and does not run code.

What Does Hosting Actually Mean Here?

Hosting means putting your file on a computer that is always on and always reachable, then pointing an address at it.

That is genuinely all it is. Your laptop could do it if you left it running forever, gave it a fixed address, and did not mind the security consequences. A host is that computer, professionally managed, usually shared with thousands of other small sites.

For one HTML file the job is small. The host stores the file and hands it to anyone who asks for that address. Nothing is executed, nothing is assembled, nothing queries a database.

This is why hosting a single page is cheap or free almost everywhere, and why the guides that make it sound hard are answering a different question. What a static site is and is not covers the category if you want the longer version.

Where Should You Put It?

Where Should You Put It? - OxyPages

Anywhere that does static hosting, and there are more good free options than most people realise. The differences that matter are how you upload and what you have to sign up for.

HostHow you uploadAccount neededCustom domain on freeBest when
Netlify DropDrag the folder onto the pageNot for the first deployYesYou want a link in ten seconds with no signup
Cloudflare PagesGit, or upload a folderYesYesYou want it free permanently and do not mind a dashboard
GitHub PagesCommit to a repositoryYes, plus gitYesYou already use git and the repo can be public
VercelDrag the folder onto Vercel Drop, git, or the CLIYesYesThe project will grow into an app later
A drag-and-drop hostDrop the file or folder inUsually yesUsually paidYou want forms and editing without touching git

I would not overthink this. For a page you need to show someone this afternoon, Netlify Drop is the shortest path in existence and you do not even have to make an account. For something that will sit at a real address for years, Cloudflare Pages and GitHub Pages are both free and both fine.

The reason to pay for anything is never the hosting itself. It is a custom domain on a free plan, a form that works without a third party, or being able to edit the page later without redeploying.

What free hosting actually restricts covers where each free tier draws its line, which is the only part of this decision worth real thought.

How Do You Host An HTML File, Step By Step?

Four steps, and the whole thing takes about a minute once you have picked a host.

  1. Put the file in its own folder. If it is called anything other than index.html, rename it to index.html. That is the filename every host looks for when someone visits the bare address.
  2. Drag the folder onto the host's upload area. The folder, not the file. This is the step that saves you the broken-image problem below.
  3. Wait for the URL. You will get something like your-page.somehost.com. It works everywhere, over HTTPS, immediately.
  4. Open it on your phone. Not your laptop. Your laptop still has the original file cached and will lie to you about whether it worked.

That is the entire process. There is no step five.

The Part That Actually Breaks

Broken images, every time, and the cause is almost always the same.

Your HTML file is not really one file. If it says <img src="images/logo.png"> or <link href="style.css">, then it is one file that depends on several others. Open it on your laptop and everything looks right, because those files are sitting next to it in the same folder.

Upload the single .html on its own and the page arrives with nothing to point at. Every image becomes a broken icon and the styling vanishes.

So upload the folder. The structure is preserved, style.css and images/logo.png stay exactly where the HTML expects them, and the page looks the way it did locally.

Two related traps worth knowing:

  • Absolute paths from your own machine. <img src="C:/Users/you/Desktop/logo.png"> works on your computer and nowhere else on earth. It has to be a relative path: images/logo.png.
  • Images that live in a chat window. If an AI tool showed you a picture, the src may point at a temporary address inside that session. It will expire. Download the image, put it in your folder, and point at it locally. MDN on relative and absolute URLs

If your page uses a font from Google Fonts or a script from a CDN, those keep working, because they are full addresses on the public internet rather than files on your desk.

Do You Need Your Own Domain?

Not to share a page. The free subdomain your host gives you is a real, working, HTTPS address that you can send to anyone.

For a draft, a client preview, a one-off event page, or anything you will delete in a month, buying a domain is a waste of money. Nobody judges the address of a work in progress.

Buy the domain when the page represents you commercially. The address is the first thing people read, usually before a single word of the page itself, and yourbusiness.com says something that yourbusiness.somehost.com does not.

One warning from watching people do this: pointing a domain you bought elsewhere at a host you signed up for separately is the step that goes wrong most often, because it means editing DNS records. Buying the domain inside the same place that hosts the page avoids that entirely.

What One HTML File Cannot Do

What One HTML File Cannot Do - OxyPages

A static page shows the same content to every visitor and runs no code on a server. Being straight about this now is better than finding out three weeks in.

So it cannot, on its own:

  • Log users in or keep accounts
  • Read or write a database
  • Take payments without a third-party checkout link
  • Run PHP, WordPress plugins, or anything server-side
  • Send an email when someone fills in a form, unless the host provides form handling or you wire up an external service

That last one catches people constantly. A <form> tag in plain HTML on a static host does nothing at all when submitted. It needs a handler, and every host does that differently, so check before you promise a client a working contact form.

If you genuinely need accounts and a database, you need an application and a platform that runs one. No amount of static hosting substitutes for that, and a host that claims otherwise is selling you something else.

For everything else, and that is most brochure pages, portfolios, event pages and one-page sites, static is faster, cheaper, and cannot be broken into the way a database-backed site can.

What To Do Next

Do it now, in this order, and it takes about a minute.

  1. Put the .html and everything it references into one folder, with the page named index.html.
  2. Check the page for absolute paths and expired image links before you upload anything.
  3. Drag the whole folder onto a static host.
  4. Open the resulting URL on your phone, on mobile data, not on your laptop.
  5. Only then think about a domain.

Drop your folder into OxyPages if you want the version with form handling and editing built in, or use Netlify Drop if you just need a link in the next ten seconds and nothing more.

If your page came out of an AI tool, the shape of what you were handed matters: some give you one file, some give you a project that needs building first. Putting a Claude page online covers that case, and hosting an AI-generated site covers the builders that export source instead of a finished page.

FAQ

Can I Host An HTML File For Free Forever?

Yes. Cloudflare Pages, GitHub Pages and Netlify all have free tiers with no expiry date for a page this small, and each allows a custom domain on the free plan. The restrictions are on build minutes, bandwidth on the very large end, and in the case of GitHub Pages the repository being public.

Why Are My Images Broken After Uploading?

Almost certainly because you uploaded the single .html file instead of the folder around it. The page is still asking for images/logo.png and nothing is there. Re-upload the whole folder. If it persists, check for absolute paths pointing at your own hard drive.

Does The File Have To Be Called index.html?

For the main page, effectively yes. When someone visits the bare address, the host looks for index.html and serves it. Other pages can be called anything you like, and they get their own address based on the filename.

Do I Need To Know Git To Put A Page Online?

No. GitHub Pages requires it, but everywhere else has a drag-and-drop route now, Netlify Drop and Vercel Drop included. You can host an HTML file today without ever opening a terminal. If you have one finished file and no plans to build a codebase around it, git adds a tool to learn and buys you nothing you can use this afternoon.

Try It Now

Still Here? Drop It In.

The whole pitch fits in one sentence: your HTML, on a link, in seconds.

Drag and drop your HTML file(s), folders, or ZIP file

or ·

No account needed. Your unclaimed website stays live for 30 minutes on a free subdomain. Claim it to your account to keep it permanently.

  • No Account Needed
  • Free SSL
  • 30-Minute Unclaimed Link, Claim To Keep It