If you are asking how to get started with Firebase Hosting for beginners, the answer is straightforward: the free Spark plan is a solid choice for static sites, portfolios, and simple web apps. It is not suitable for server-side code, but for pure front-end projects it is honest, reliable, and genuinely free.
How This Guide Was Built
We compiled this guide from the official Firebase pricing page, official Firebase documentation, and the Google community forum. We verified the free tier details, the signup flow, deployment steps, and platform availability. This review is based on official documentation, pricing pages, and community reports — we did not run the tool hands-on. Last verified: August 2026.
What is Firebase Hosting?
Firebase Hosting is a production-grade web hosting service from Google that serves static files — HTML, CSS, JavaScript, and images — over a global content delivery network. It is designed for developers who want fast, secure hosting without managing servers. According to the official Firebase Hosting docs, it includes automatic SSL certificates and custom domain support.
How do I get started with Firebase Hosting?
To get started with Firebase Hosting, sign in at console.firebase.google.com with a Google account, click “Add project,” give it a name, and create it. The Spark plan is the default for new projects. No credit card or payment method is required at any point during signup or first deployment.
What does the free Spark plan include?
The free Spark plan includes 10 GB of hosting storage and 360 MB per day of data transfer, which equals roughly 10 GB per month. It also provides a global CDN, custom domains with automatic SSL, and support for multiple sites per project. Beyond hosting, the official Firebase pricing page lists always-free products including Analytics, Crashlytics, FCM push notifications, A/B Testing, Performance Monitoring, Remote Config, In-App Messaging, and App Distribution. Firestore free allowances, per the Firestore quotas docs, include 1 GiB storage, 10 GiB monthly egress, 20K writes per day, 50K reads per day, and 20K deletes per day. Firebase Auth offers 50K monthly active users for free.
How do I deploy my first site with the Firebase CLI?
To deploy your first site with the Firebase CLI, install the tools globally with npm install -g firebase-tools (Node.js is required). Then run firebase login to authenticate in your browser. Next, run firebase init hosting to choose an existing project and set your public directory (e.g., “public”); configure single-page app rewrites if you are deploying a SPA. Finally, run firebase deploy --only hosting to publish your site at https://<project-id>.web.app. You can optionally connect a GitHub repository for automatic deploys via the Hosting section. The Firebase CLI docs and Hosting quickstart cover these steps in detail.
How do I connect a custom domain with automatic SSL?
To connect a custom domain with automatic SSL, go to the Firebase console, navigate to Hosting, click “Add custom domain,” and enter your domain. You will verify ownership through DNS records, and Firebase automatically provisions an SSL certificate for you. The custom domain documentation explains this process.
Can I run server-side code on the free plan?
You cannot run server-side code on the free Spark plan due to a critical 2024+ change. Cloud Functions for Firebase is no longer included in Spark; it requires the pay-as-you-go Blaze plan, which offers 2 million invocations per month free and then charges $0.40 per million. Firebase App Hosting and Cloud Run are also Blaze-only. Spark is strictly for static hosting. This is clearly stated on the official Firebase pricing page.
What are the biggest Firebase Hosting free tier limits to watch out for?
The biggest free tier limit to watch is the 360 MB per day data transfer cap. A busy site or large images can blow through this quickly. When exceeded on Spark, your site is throttled or returns 503 errors until the daily reset at midnight Pacific time. To mitigate, compress images, cache aggressively, and use CDN-friendly assets. Storage is capped at 10 GB total for hosting. Multiple sites per project are allowed on Spark, each with its own *.web.app domain; custom domains require verification. Headers and redirects are configurable via firebase.json. These limits are documented on the Firebase pricing page.
Firebase Hosting vs. Vercel vs. Netlify
If you are comparing free static hosts, the three names you will see most often are Firebase Hosting, Vercel, and Netlify. All three offer a permanent free tier for static sites, automatic SSL, and a global CDN — so the right choice usually comes down to what else you need beyond hosting.
Firebase Hosting’s advantages are the rest of the Firebase suite. If you are already using Firestore for a database, FCM for push notifications, or Firebase Auth for sign-in, hosting your site in the same project keeps deploys, environment secrets, and billing in one place. The tight integration also means you can move to Cloud Functions later by upgrading to Blaze, without migrating hosts. See the Firebase Hosting docs for the full feature list.
Vercel shines when your project is a Next.js app or a monorepo with many preview deployments. Its free tier includes serverless functions and preview URLs on every pull request, which teams with an active Git workflow tend to value more than Firebase’s suite integration. Netlify is similar, with generous build minutes and a mature split-testing feature set.
The honest guidance: for a static marketing site, portfolio, or simple web app where you want Google’s ecosystem, choose Firebase. For a framework-heavy app with heavy Git-based preview workflows, Vercel or Netlify will feel more natural. All three are free to start, so the cost of trying Firebase first is close to zero.
Configuring firebase.json for SPA rewrites and headers
The firebase.json file controls hosting behavior beyond the defaults. Two settings matter most for beginners: rewrites and headers.
SPA rewrites. If your site is a single-page app with client-side routing, direct visits to routes like /dashboard will 404 unless you rewrite all paths to index.html. Add a rewrites block:
{
"hosting": {
"public": "public",
"rewrites": [{ "source": "**", "destination": "/index.html" }]
}
}
Headers and caching. Static assets like images and fonts benefit from long cache lifetimes, while index.html should be revalidated often so visitors get updates. A common pattern sets immutable caching for hashed assets:
{
"hosting": {
"headers": [
{ "source": "/assets/**", "headers": [{ "key": "Cache-Control", "value": "public, max-age=31536000, immutable" }] },
{ "source": "/index.html", "headers": [{ "key": "Cache-Control", "value": "no-cache" }] }
]
}
}
Both blocks are documented in the Firebase hosting configuration reference. Aggressive caching on hashed assets is one of the easiest ways to stay under the Spark plan’s daily transfer cap, because repeat visitors pull most bytes from their local cache instead of your CDN.
Common mistakes
- Unoptimized images eating the daily 360 MB transfer cap, causing throttling.
- Assuming Cloud Functions runs on Spark; it does not, and requires Blaze.
- Skipping custom-domain verification, which blocks SSL provisioning.
- Ignoring caching and headers in
firebase.json, leading to unnecessary data usage.
FAQ
Is Firebase Hosting free for beginners?
Yes, Firebase Hosting is free for beginners through the Spark plan. Per the official Firebase pricing page, it includes 10 GB storage and 360 MB daily data transfer, enough for small static sites and personal projects. There is no time limit on the free tier, and you can keep using it indefinitely as long as you stay within the allowances.
Do I need a credit card to use Firebase Hosting?
No, you do not need a credit card to use Firebase Hosting on the Spark plan. Signup requires only a Google account. The free tier is genuinely free with no payment method attached. You only need to add billing information if you choose to upgrade to the Blaze plan for server-side features.
When should I upgrade from Spark to Blaze?
You should upgrade from Spark to Blaze when you need server-side code such as Cloud Functions, Cloud Run, or App Hosting, or when you exceed the daily 360 MB transfer cap regularly. Blaze is pay-as-you-go, so you only pay for what you use beyond the free allowances.
Where to go next
For more details on features and limits, check out our Firebase Hosting tool listing. If you are comparing platforms, read our Vercel free tier guide or our Render free tier guide to see how they stack up for your use case.
