When it comes to deploying your landing page, blog, or web app this is typically the point where you need to pay for it. But maybe you’re an indie hacker, freelancer, student, or just working on some site project in your free time and don’t want to spend money on an expensive hosting provider. Well, luckily there are ways to deploy your project without any cost (except for your domain name if you need one)!

This guide is intended to provide an overview and comparison of different hosting services that are tailored to developers. By “tailored to developers” I mean that the options presented below are for people who are developing a website or web application and are willing to do some extra work when it comes to deployment, rather than simply using a (expensive) fully managed service. But even if you’re new to this topic, this shouldn’t put you off, as there are great resources on the internet for each method.

What types of applications can I host for free?

The hosting providers presented here are suitable for particular types of applications which are presented below:

Static websites and CSR

Static hosting means you have a website without server-side rendering. This limits your use cases because you cannot execute logic on the server like a login. You need to use client-side rendering (CSR) if you want to display dynamic content. However static websites are still very popular because they are fast and thanks to static site generators it’s very convenient to host your blog, landing page, or documentation using only static files. Also, you can use popular frontend frameworks like React, Vue, or Svelte to create powerful single-page applications (SPA).

Dynamic websites and SSR

Server-side rendering enables you to render dynamic webpages from the server. This is crucial for user authentication but requires a backend server to serve your site. Hosting your own backend is more advanced than static hosting because it requires a server to do computations for your visitors. Luckily there are some handy frameworks for nearly every programming language to make development easier. Even frontend frameworks were extended (Next, Nuxt, SvelteKit, etc.) so that you can create a full-stack app with them.

Applications types which are not covered here

Free hosting comes at the cost of less computing power and limited features. There are application types that are not very suitable for free hosting in my opinion and I will not cover them further:

  • CMS apps: Sites that are using a CMS like WordPress require more computing power and other resources like a database. If you just want a blog consider static site generators like Hugo.

  • E-commerce apps: Hosting an online shop by yourself can be challenging. I’d suggest a SaaS provider or something like WordPress with plugins.

Free Hosting Providers

1. GitHub Pages

Hosting your website via GitHub Pages is very convenient because your repository becomes your web server. Everything you push to GitHub can be deployed immediately. This works for static files as well as for more complex SPAs that often need to be bundled and prerendered. You can use GitHub Actions to do these tasks for you on every push, merge, etc. When you have a free account you can only deploy public repos but as a student, you can get GitHub Pro for free and also host from private repos.

Using GitHub to deploy a website from source code to the final page gives you full control over the deployment process including CI/CD pipelines. There are a few limitations (e.g. non-commercial use) which you should know before so please refer to their documentation here.

2. Netlify or Vercel

If you want to deploy frontend applications using React, Next.js, SvelteKit, etc. have a look at Netlify and Vercel. Both providers offer frontend-as-a-service (FaaS) and even have a free plan. Also, they offer CDN and serverless functions on the edge that work well for small backends. Databases are also supported but quite limited on the free tier.

To deploy your site you can simply use a git repository with a template project. The providers take care of deployment so you don’t need to setup everything by yourself. I think both services are great but there are differences in features and programming languages. Also, the free plan on Vercel does not allow commercial projects. If you want to drive deeper I suggest this vercel-vs-netlify post.

3. Cloudflare

Cloudflare offers a free plan for static websites and serverless functions (workers). They can be used together to create a full-stack application. Everything is deployed over Cloudflare’s global edge network, so you get amazing speed. It’s like a combination of GitHub Pages and Vercel.

This might be one of the best deals you can get for static hosting and serverless computing. You are also allowed to use the services for business purposes.

4. Render

Render follows a different approach compared to Vercel and Netlify. It lets you deploy full-stack apps with a custom backend. It reminds me of a simplified version of AWS or GCP. On the free plan, you’re able to deploy web services (backends) and static sites but you get very limited computing power. You can use a variety of programming languages and even deploy docker images for maximum customization. There is also a free trial for managed databases.

Read more about render here.

5. GCP, AWS, or Azure

Amazon Web Services (AWS), Google Cloud Platform (GCP), and Azure are the most complicated providers listed here. They let you set up a complex infrastructure with the downside that you need to pay for most services. I would suggest a cloud provider if you’re building a serious application and want to have full control and scalability. They also offer free trials but are mostly limited to 12 months.

But there is one exception: GCP offers one forever-free virtual private server instance! If you want to have full control you can deploy your own server and set up everything by yourself. If you want to learn about hosting and infrastructure or have special requirements this VPS can be very useful.

Read more about GCP’s free plan here.

6. Firebase

Firebase from Google is essentially a backend-as-a-service offering serverless functions, authentication, and two different no-SQL databases. Its free plan includes a good toolset for many use cases.

However, firebase locks you very much into its ecosystem so you need to explicitly develop for Firebase to deploy your application there.

Side-by-side comparision

GitHub PagesNetlifyVercelCloudflareRenderGCPFirebase
TypeStaticStatic, ServerlessStatic, ServerlessStatic, ServerlessFull StackVPSServerless, Database
Easy deploymentGit / ActionsGit / CLIGit / CLIGit / CLIGitManual setup or automationManual setup or automation
Backend SupportNoLimited (serverless functions)Limited (serverless functions)Limited (serverless functions)Full backend supportFull backend supportLimited (Firebase Functions)
Database SupportNoNoLimited supportLimited Key-Value StorepaidpaidYes (Firebase Realtime Database, Firestore)
Commercial UseNoYesNot on free planYesYesYesYes
Edge/CDNNoYesYesYesFor static sitesNo (server in USA)Yes

Summary

As you can see, there are quite a few options out there to host your application for free. Of course, more services exist but these are the most versatile I think. Also, I want to mention these free options are always limited in features and usage so when your application grows maybe you need to upgrade to a paid plan.

The best provider for you depends on your use case and technologies but keep in mind that the product’s purpose should matter the most, not the tech stack. So keep it simple and scale up when needed.