Guides  /  Static Hosting

How to Host a Static HTML File for Free

July 6, 2026  ·  5 min read

Written by Andrian ·  Technical Writer, Static.app

Reviewed by Roman Frank ·  Technical Reviewer, Static.app

You have an index.html file sitting in a folder on your computer, maybe a portfolio, a landing page, or something an AI just generated for you, and you want a real link you can send to someone. Opening the file in your browser only works on your machine, and a full web host feels like overkill for one page. To put it online, zip that file (on its own, or with the CSS, JS and images it needs) and drop the ZIP on Static.app's HTML file upload, which publishes it right away at a live public URL with a free subdomain and an SSL certificate.

What "static hosting" actually means

Static hosting means your files are served to visitors exactly as they are, with no server-side code running to build the page on each request. There is no database, no PHP or Node process, no backend logic: just the HTML, CSS, JavaScript, and images you uploaded, sent straight to the browser. That is why static hosting is fast, cheap, and reliable. The web server has almost nothing to do, so pages load quickly and there is very little that can break.

WHAT HAPPENS ON A REQUEST Static hosting Browser Web server index.html Two hops, and nothing to compute. Dynamic hosting Browser Web server App code Database Then all the way back again, for every single visitor.
This is the whole reason static hosting is fast, cheap and hard to break: the server has almost nothing to do. There is no code of yours running on each request, so there is very little that can fail while someone is waiting.

Serving files exactly as they are is what most simple web pages need. If your page runs entirely in the browser, static hosting is the right fit.

RUNS IN THE BROWSER HTML, CSS, and images Client-side JavaScript Calls out to a third-party API NEEDS A SERVER PHP, Node, or Python of yours A database Logic that runs before sending
The dividing line is not how complicated your page is. A static host will happily serve a page full of JavaScript that talks to other services. What it cannot do is run code of yours before the file goes out.

Static hosting fits four kinds of page that do not need a server to build them:

  • Portfolios and resumes: a single page that shows your work with a clean link to share.
  • Landing pages: a product, event, or campaign page that just needs to be live and fast.
  • Documentation and prototypes: static docs, a demo, or a proof of concept you want teammates to open.
  • AI-generated pages: HTML produced by a tool like Claude, which you want to turn into a real website.

The index.html convention

Name your entry page index.html. That is the one rule that matters here, because when a browser requests the root of a website, the server looks for a file named index.html and serves that as the home page. In an uploaded folder, index.html is what visitors see first. Every other file (about.html, style.css, or an images folder) is reached by a link or a reference from inside it.

yoursite.static.domains/ A request for the root of the site, with no filename. Every other file is reached by a link or a reference from inside that page. LOOKS FOR my-site/ index.html served at the root about.html style.css images/ logo.png
A web server asked for the root of a site has to guess which file you meant, and the answer it has agreed on for decades is index.html. So if your page is currently called portfolio.html, rename it before you publish and the base URL will open it.

If your main page is currently called something like portfolio.html or page.html, rename it to index.html before you publish so the URL points straight to it.

How to host your HTML file for free

Hosting an HTML file takes five steps, and they all happen in one visit: name your entry page index.html, zip it, drop the ZIP on the HTML file upload page, pick a free subdomain, then create the free account inline and share the live link.

index.html zipped, alone or with its assets Drop it here or click to choose Pick a free subdomain Live WITH SSL Your free account is created inline during that first upload, so there is no separate signup trip.
The whole path takes a couple of minutes, and the free subdomain plus its SSL certificate come with it. Change your mind later and you can update the files while keeping the same URL.

Step by step

  1. Make sure your entry page is named index.html, then zip it. The uploader takes a ZIP, so zip the file even when it is the only one. If your page needs more than one file, put them all in a single folder with index.html at the top level and zip that folder.
  2. Open the HTML file upload page and drag your ZIP onto the drop zone, or click to choose it from your computer.
  3. Pick a free subdomain name for your website, or leave the suggested one. Your page then lives at that address, for example yoursite.static.domains.
  4. Create your free account inline by entering your name, email, and a password, then confirm. This is part of your first upload, so there is no separate signup trip.
  5. Your website publishes and you get a live, shareable link on a free subdomain, with an SSL certificate included, ready to send to anyone.

Publishing is free to start. A new account opens on a 7-day trial that covers one website, 50 MB of storage, a free subdomain, and an SSL certificate, and it asks for no credit card. Publishing after that trial needs a paid plan, and the pricing page lists what each one includes. You create the account as part of that first upload, and the page is live right away. If you later change your mind about the design, you can update the files from your dashboard and the same URL keeps working.

Uploading a whole folder, not just one file

A folder uploads as one website, as long as index.html sits at its top level. A real page is often more than one file: it pulls in a stylesheet, some JavaScript, and a few images. Keep all of those together in one folder with index.html at the top level, and upload the folder (as a ZIP) rather than a lone file. Static.app serves the whole folder as one website. Relative references like <link href="style.css"> or <img src="images/logo.png"> keep working exactly as they did on your machine.

Clean up your HTML first (optional)

Tidying your HTML before you publish is optional, and it changes nothing about how the page renders. If your file is messy or came out of a generator as one long line, paste it into the HTML formatter to get properly indented, readable markup back. That makes the file easier to read and edit later. If your page came from an AI chat, the dedicated walkthrough on hosting a Claude artifact covers importing that HTML directly.

Add a custom domain later

You can move a published website onto a custom domain at any time, and a custom domain is not part of the free plan, so it needs a paid plan. Your website starts on a free subdomain, which is enough to share and test. When you are ready to make it look like your own product, open your dashboard and add the domain. Point that domain's DNS at Static.app. Your page then lives at your own address, with SSL. You do not have to decide this up front, so it is fine to publish first with the free link and add the domain whenever you buy one.

Common questions

The four answers below cover whether it is really free, whether the entry file has to be named index.html, whether more than one page can go up at once, and whether JavaScript still runs.

Is hosting an HTML file really free?

It is free to start, and no payment is required to get the page live. A new account opens on a 7-day trial covering one website, 50 MB of storage, a free subdomain, and an SSL certificate, with no credit card asked for. Publishing after the trial ends needs a paid plan, so see pricing for what that costs.

Do I need to name my file index.html?

For the home page, yes. Web servers look for index.html at the root of a website and serve it as the default page, so naming your entry file index.html ensures the base URL opens your page. Other files can be named anything, as long as your links and references point to them correctly.

Can I host more than one page?

Yes. Put every file the website needs (HTML pages, CSS, JavaScript, and images) into one folder, keep index.html as the entry page, and upload the folder as a ZIP. The HTML file upload publishes the whole folder as a single website, so links between your pages keep working.

Will my JavaScript work?

Client-side JavaScript works on Static.app, because a .js file is just another file served to the visitor. What will not work is anything that needs a backend server or a database, because static hosting serves plain files and has no server-side code to run those requests.

Ready to try it?

Host your HTML file free

Back to all guides