You can put a small website online for nothing. No card, no monthly bill, just a working site you can share. This guide walks through your free options, what they actually give you, and the moment it starts making sense to pay a few dollars instead.
First, what kind of site do you have?
Before you pick a host, you need to know whether your site is static or dynamic. This one fact changes everything about where it can live.
A static site is just files. HTML, CSS, a bit of JavaScript, some images. The server hands those files to the browser exactly as they are and nothing changes on the back end. Think of a portfolio, a landing page for an event, a small business site with a few pages, or documentation. If you built it with plain HTML or a tool like Hugo, Eleventy, Astro or a React build, it's static once it's exported.
A dynamic site runs code on the server every time someone visits. It usually talks to a database. WordPress is the classic example. So is anything with user logins, a shopping cart, a comment system, or content that changes based on who is looking. These need an actual server process running, often PHP and MySQL, and that's a different kind of hosting.
Here's why it matters. Static sites are cheap or free to host almost everywhere because serving files is light work. Dynamic sites cost more because something has to keep running, use memory, and answer requests. So the honest first question is not "where do I host" but "do I really need a back end yet." A lot of people reach for WordPress when a handful of HTML pages would have done the job and stayed free forever.
Free options for a static site
If your site is static, you're spoiled for choice. These are the ones we see people use most, and they all have a genuinely free tier that is fine for a personal or small project site.
- GitHub Pages. You push your files to a repository and they go live. Great if you already use git. Custom domains and HTTPS work.
- Cloudflare Pages. Connects to your git repo, builds the site, and serves it from a fast network. Generous free tier and good for static frameworks.
- Netlify and Vercel. Both connect to a repo, build on every push, and give you a free URL. Vercel leans toward Next.js, Netlify is more general. Watch the limits on the free plans if your site gets popular.
- A free web hosting plan. Some hosts, us included, give you a small free webserver plan where you upload files over a panel or SFTP. This feels more like traditional hosting if that's what you're used to.
Honestly, if you have never touched git, the free webserver route or a drag and drop static host is the gentler start. You upload your index.html and the rest of your files, and you're done. If you do use git, Cloudflare Pages or Netlify are hard to beat.
What about a free WordPress or dynamic site?
This is where free gets thinner, but it's still doable. You have two real paths.
The first is a hosted service like WordPress.com on its free tier. It runs everything for you. The catch is the free plan is locked down. You usually can't install your own plugins or themes, you get their subdomain instead of your own domain, and there are ads you can't remove. It's fine for a simple blog you just want to write on, but you'll hit a wall fast if you want control.
The second path is a free starter plan from a host that gives you a real PHP and MySQL environment. We offer a WordPress starter plan that runs on the same NVMe storage as the paid plans, with a one click WordPress install, so you get the actual dashboard, your own plugins, and proper control. It's small, and it's meant as a place to learn or run a tiny site, but it behaves like real hosting rather than a sandbox.
A quick warning: a free dynamic site will always have tighter limits than a free static one. Running PHP and a database costs the host real money, so expect caps on storage, visits, or both. That's normal and fair. Just know it going in.
Getting a domain and pointing it
Most free plans hand you a subdomain, something like yoursite.someprovider.com. That works, but it looks like a placeholder. The moment you want to be taken seriously, you'll want your own domain.
Domains are the one part that is almost never free. A normal .com runs about 10 to 15 dollars a year from a registrar. That's the price of looking real, and it's worth it. You buy the domain from a registrar, then you point it at your host. Pointing means editing DNS records:
- An A record points your domain at an IP address. You use this when your host gives you an IP.
- A CNAME record points your domain at another name, like the URL your static host gave you. Many static hosts ask for a CNAME.
Your host's docs will tell you exactly which record and value to use. A simple A record edit at your registrar looks like this once you know the IP:
Type Name Value
A @ 203.0.113.10
A www 203.0.113.10
DNS changes can take a little while to spread, anywhere from a few minutes to a few hours. So if your domain doesn't load right away, don't panic and start changing things. Give it time first. Also turn on HTTPS if your host doesn't do it automatically. Most free hosts now hand out free certificates through Let's Encrypt, and it's usually a single toggle.
What free actually gets you, and where it stops
Free hosting is real and useful. It is not a trap. But it has edges, and knowing them saves you a bad surprise later. In our experience the limits people hit first are these.
| What you might want | What free usually allows |
|---|---|
| Traffic | Fine for low numbers. Caps or throttling when you get busy. |
| Storage | Small. Enough for a normal site, not for lots of video. |
| Custom domain | Sometimes yes, sometimes only on paid plans. |
| Email at your domain | Almost never included for free. |
| Background tasks and databases | Limited or absent on static free tiers. |
| Support | Community or docs, not someone on call. |
None of that is a dealbreaker for a small site. A portfolio, a club page, a one product landing site, a personal blog with light traffic. Free handles all of those for a long time.
Signs you have outgrown free
So when do you pay? Watch for a few honest signals. Any one of these is usually enough.
- You need your own domain and free won't give it. If the plan forces a subdomain and your project is real, that alone is worth a few dollars a month.
- You need a real back end. A contact form that stores submissions, user accounts, a small database, a custom API. Static free tiers can't do this, and bolting it on with third party services gets messy fast.
- Your traffic is climbing. If you start seeing slowdowns, throttling messages, or you blow past a visit cap, that's the plan telling you it's time.
- Your site is making or supporting money. Once downtime costs you sales or credibility, the cost of a paid plan is tiny next to what you lose when the free tier hiccups.
- You want email, backups, or actual support. These are the comforts free skips, and they matter more the more you rely on the site.
The jump from free to paid is smaller than people expect. A basic shared web plan or a small WordPress plan is usually a few dollars a month, and you get a real domain, NVMe storage, backups, and a person to ask when something breaks. You don't need a big VPS for a small site. Start small and move up only when the site asks for it.
A simple plan to get online today
If you just want something live, here's the shortest path that doesn't paint you into a corner.
- If your site is a few pages, keep it static and put it on a free static host or a free webserver plan.
- If you genuinely need WordPress, grab a free WordPress starter plan rather than fighting a locked down hosted blog.
- Buy a domain when you're ready to be taken seriously. It's the one cost worth paying early.
- Turn on HTTPS, point your DNS, and double check the site loads on your phone too.
- Upgrade the day you hit a real limit, not before.
Free hosting is a great place to start and a fine place to stay for a while. Get the thing online, share it, see if people actually use it. You can always move up later, and by then you'll know exactly what you need instead of guessing.



