DevOps

Free Tier Limits Compared: Where Nine Platforms Cut You Off

Every comparison of free tier limits lists the allowances. Almost none of them say what happens on the day you cross one, and that is the part that decides whether a side project survives its first good week. Some platforms slow you down. Others return an error until midnight UTC. A few pause every project on the account at once, and two of them will eventually delete your data.

This post is for developers choosing where to host a side project, a prototype, or an early product before it earns money. It covers nine platforms across hosting, databases and backend services, and for each one it answers three questions: what the ceiling is, what the platform does when you reach it, and what the cheapest way over it costs. The goal is simple. You should be able to pick a free tier knowing exactly how it fails, instead of finding out from a user.

Every limit below was read from the vendor’s own pricing, limits or documentation page on one day. Where two official pages disagree, both numbers are shown, because quietly picking one would hide a real trap.

Where These Free Tier Limits Came From

These allowances drift more often than paid pricing does, so the date matters as much as the numbers.

Limits read 2026-09-28
Plans:    Vercel Hobby, Netlify Free (credit-based), Cloudflare Workers Free and Pages Free,
          Firebase Spark, Supabase Free, Neon Free, MongoDB Atlas Free (formerly M0),
          Render Free, AWS Free Tier (free account plan for accounts opened after 2025-07-15)
Sources:  each vendor's own pricing, limits and documentation pages, linked inline
Excluded: legacy plans, startup programs, promotional credits, enterprise agreements,
          terms-of-service clauses not restated on a pricing or limits page

Two exclusions deserve a sentence each. First, startup programs and promotional credits are left out because they depend on an application, not on signing up. Second, only Vercel restates a commercial-use restriction on its limits pages, so the others are marked as not stated rather than assumed to be permissive. Read the terms of service before you put ads or a checkout on any free tier.

What Happens When You Hit a Free Tier Limit?

When you hit a free tier limit, the platform does one of five things: throttles you, returns errors until a daily reset, blocks writes while serving reads, suspends the service until next month, or deletes data after a deadline. No platform in this comparison bills a free account for overage. Instead, each one picks a failure mode, and the failure mode matters more than the number.

PlatformFirst ceiling most apps hitWhat happens at the ceilingResets
Vercel Hobby1M edge requests a monthFeature unavailable until 30 days have passed30 days, no billing cycle
Netlify Free300 credits a monthEvery project on the team paused, “Site not available” pageNext billing cycle
Cloudflare Workers Free100,000 requests a dayError 1027, or the Worker is bypassed if set to fail openDaily, 00:00 UTC
Firebase Spark50K Firestore reads a dayThat product shut off until the quota refreshesDaily for Firestore, monthly for Hosting
Supabase Free500 MB databaseDatabase goes read-onlyManual fix, or upgrade
Neon Free100 CU-hours a monthCompute suspendedNext billing period
MongoDB Atlas Free100 operations a secondThrottled, one-second cooldownContinuous
Render Free750 instance hours a monthAll free web services suspendedNext calendar month
AWS Free TierSix months or the credits, whichever ends firstAccount closed, data deleted after 90 daysDoes not reset

That table is the whole post in miniature. The sections below cover the details that change the decision.

Hosting Platforms: Vercel, Netlify and Cloudflare

These three are the usual first stop for a frontend or a full-stack framework app. Their free tiers look similar on a feature grid and behave completely differently at the edge.

Vercel Hobby waits you out for 30 days

According to the Hobby plan documentation, the free plan includes 1,000,000 edge requests, 100 GB of Fast Data Transfer, 1,000,000 function invocations, 4 hours of Active CPU and 360 GB-hours of provisioned memory each month. The limits page adds 100 deployments a day, one concurrent build and a 45-minute build timeout.

At the ceiling, Vercel does not bill you and does not let you pay. The pricing page states that Hobby accounts “are limited to the usage caps and cannot purchase additional usage”, and the Hobby docs say that “in most cases, if you exceed your usage limits on the Hobby plan, you will have to wait until 30 days have passed before you can use the feature again.” There is no billing cycle to reset against, so the 30 days start when you hit the cap.

The bigger restriction is not a number. The fair use guidelines say that “Hobby teams are restricted to non-commercial personal use only”, and the listed examples of commercial use include advertising such as Google AdSense. A blog with display ads is a commercial project under that wording, regardless of traffic.

Netlify Free pauses everything on the team

Netlify moved to credits, and the free plan gets 300 of them a month with no way to buy more. The credit meters are 15 credits per production deploy, 20 per GB of bandwidth, 2 per 10,000 web requests and 10 per GB-hour of compute. Deploy previews cost nothing. Consequently, 20 production deploys alone would use the whole month.

What happens next is the harshest behaviour in the hosting group. The credits documentation says that once the balance is used up, “all of your web projects (sites/apps) are paused and visitors to your web projects will find a Site not available page.” The paused projects page adds that “all deploys will pause, including Deploy Previews and branch deploys”, and that projects resume automatically at the start of the next billing cycle.

Note the word “all”. Credits belong to the team, so one project that goes viral takes every other site on the account offline with it. Furthermore, the billing cycle starts on the day you created the team, not on the first of the month.

Cloudflare fails one request at a time and resets at midnight

The Workers limits page gives the free plan 100,000 requests a day and 10 milliseconds of CPU time per invocation, with no charge for duration. Meanwhile, requests to static assets are “free and unlimited” according to the pricing page, and Pages allows 500 builds a month with one concurrent build.

At the ceiling, Cloudflare is precise: “When a Worker exceeds this limit, Cloudflare returns Error 1027.” You can also configure a route to fail open, in which case requests “behave as if no Worker is configured”. Every limit resets daily at 00:00 UTC. For a site whose dynamic layer is optional, fail open turns an outage into a degraded page for the rest of the day.

The 10 ms CPU limit is the one that catches people. An API route that mostly waits on a database uses very little CPU, because waiting on I/O is not billed or counted as CPU time. Server-side rendering a large React tree, parsing big JSON payloads or resizing images in the Worker is different, and those workloads do not fit inside 10 ms.

Database Free Tiers: Supabase, Neon and MongoDB Atlas

Databases fail differently from hosting, because the ceiling you hit is usually storage, and storage does not reset on the first of the month.

Supabase goes read-only at 500 MB and pauses after a quiet week

The Supabase pricing page lists a 500 MB database, 1 GB of file storage, 5 GB of egress, 50,000 monthly active users, 500,000 Edge Function invocations and two active projects. API requests are unlimited.

Storage is the hard edge. The database size docs state that “Free Plan projects enter read-only mode when your database size exceeds 500 MB”, and inserts then fail with cannot execute INSERT in a read-only transaction. Reads keep working, which is gentler than a suspension. However, it does not fix itself, because you have to delete data and vacuum, or upgrade. For other quotas, the billing FAQ describes a grace period followed by possible restrictions, including returning a 402 status for all API requests. The FAQ does not state how long the grace period lasts.

The quieter trap is inactivity. The pricing page says “Free projects are paused after 1 week of inactivity”, and the pausing docs say a paused project can be restored for up to a year. An older 2024 changelog entry says 90 days, so treat the shorter figure as the safe one if the data matters.

Neon suspends compute and blocks writes at 0.5 GB

The Neon plans documentation gives each free project 100 CU-hours of compute a month, 0.5 GB of storage, 5 GB of egress and 10 branches, with up to 100 projects per organization. Compute scales to zero after five minutes idle, and that cannot be turned off on the free plan.

Neon’s behaviour at the ceiling is spelled out clearly on the pricing page: “Running out of CU-hours or egress (5 GB) suspends compute until the next billing period. Exceeding 0.5 GB storage blocks writes.” The same page adds that “none of these limits delete your data”. The storage wording has one sharp edge. Deletes also count as operations that increase storage, so the plans page lists “inserts, updates, and deletes” as the operations that fail, which makes cleaning up harder than it sounds.

The CU-hour budget is where the arithmetic matters. At Neon’s smallest compute size of 0.25 CU, a database that never idles uses about 180 CU-hours in a 30-day month. As a result, 100 CU-hours only lasts the month if the database sleeps for close to half of it.

MongoDB Atlas throttles instead of stopping

The Atlas free cluster limitations list 512 MB of storage, 500 connections, 100 operations per second and 10 GB of data transfer in and out over a rolling seven-day period. There is one free cluster per project.

Atlas is the only platform here that throttles rather than failing. When throughput or transfer exceeds the limit, “Atlas throttles the network speed of the cluster” and adds a one-second cooldown on the connection. Your app gets slower, not broken. Storage is different, though. The storage FAQ calls it “a hard limit and cannot be exceeded”, and writes past it fail with error code 8000. Separately, Atlas pauses free clusters after 30 days with zero connections.

Backend Platforms: Firebase, Render and AWS

This group carries the most surprises, because two of the three changed what “free” means within the last eighteen months.

Firebase Spark shuts off one product and keeps the rest running

The Firebase pricing page gives Cloud Firestore 1 GiB of storage, 50,000 document reads, 20,000 writes and 20,000 deletes a day, plus 10 GiB of monthly egress. Firestore quotas “reset around midnight Pacific time”. Authentication covers 50,000 monthly active users.

Two things are no longer on Spark at all. Deploying Cloud Functions requires the Blaze plan, as the Functions getting-started guide states. More disruptively, Cloud Storage for Firebase dropped Spark support, with a deadline of 3 February 2026 according to the storage changes FAQ. Spark projects now receive 402 or 403 errors from Storage, and their files stay stored but inaccessible until the project moves to Blaze.

At the ceiling, the pricing plans page says usage of “that specific product will be shut off for the remainder of that month”, while Firestore’s own quota pages reset daily. Hosting has its own conflict: the pricing page lists 360 MB of data transfer a day, and the Hosting quota docs say 10 GB a month. Plan around the smaller number. When Hosting transfer runs out, there is “a short grace period but then your sites will be disabled” until the next month.

Render suspends free services and deletes free Postgres

According to the Render free plan docs, a free web service spins down after 15 minutes without traffic, takes about a minute to wake, and draws from 750 instance hours per workspace each calendar month. That is enough for one service running continuously, but not two. When the hours run out, “Render suspends all of your Free web services until the start of the next month.”

Bandwidth works differently depending on whether a card is on file. The Hobby workspace includes 5 GB of outbound bandwidth a month, and past that Render bills the overage if a payment method exists. Without one, “Render instead suspends all of your Free services for the remainder of the month.”

The free database is the real warning. “Free Render Postgres databases expire 30 days after creation”, followed by a 14-day grace period, after which “Render deletes the database (along with all of its data).” Free Key Value is in-memory only and loses everything on restart. Neither is a place for data you want next month.

AWS closes the account after six months

AWS rebuilt its free tier in July 2025. According to the free tier plans documentation, new accounts get $100 in credits, plus up to another $100 for completing onboarding activities. The free account plan “ends after six months or when your credits are fully used – whichever occurs first.” A set of always-free allowances also applies, such as the 1 million Lambda requests and 400,000 GB-seconds a month listed on the Lambda pricing page.

The end state is the most severe in this comparison. The same page says that “after your free account plan expires, your account closes automatically, and you lose access to your resources and data,” and that AWS “retains your content for 90 days before permanently deleting your account and all associated resources.” Upgrading to the paid plan within those 90 days keeps everything, and any unused credits carry over.

That design is safer than the old model in one way, because a free account can no longer run up a surprise bill. On the other hand, it turns an unattended free account into a deletion deadline.

The Five Failure Modes, Ranked by Damage

Grouping the nine platforms by what happens at the limit gives a clearer ranking than any allowance table. From least to most damaging:

  1. Throttled. MongoDB Atlas slows requests down. Users notice latency, not errors.
  2. Errors until a daily reset. Cloudflare Workers and Firestore fail requests until midnight UTC or Pacific time. It is a partial outage lasting at most a day.
  3. Writes blocked, reads served. Supabase, Neon storage and Atlas storage keep your data readable and reject new writes. The app half works, and the fix requires deleting data or paying.
  4. Suspended until next month. Vercel, Netlify, Neon compute, Firebase Hosting and Render all stop serving for up to a month. Netlify and Render suspend every free project on the account at once.
  5. Deleted after a deadline. Render free Postgres and the AWS free account plan end in deletion if nobody acts.

In practice, the account-wide blast radius in category four is the one that hurts most often. A single test project that burns through the team’s credits takes a portfolio site, a client demo and a documentation site down with it.

Which Ceiling Hits First: One Side Project on Every Platform

Allowances are hard to compare in the abstract, so here is one modest workload priced against each free tier. The numbers are an illustrative workload, not a measurement.

2,000 page views per day, 60,000 per month
10 HTTP requests per page view  = 20,000 a day, 600,000 a month
300 KB transferred per page view = 600 MB a day, 18 GB a month
1 API call per page view        = 2,000 a day, 60,000 a month
Each API call: about 5 ms of CPU, then waits on a database
10 production deploys per month

Running the numbers against each ceiling

On Vercel, 600,000 edge requests use 60% of the 1M allowance, and 18 GB uses 18% of the transfer allowance. Requests are the binding limit, which puts the ceiling at roughly 3,300 page views a day. The workload fits, although ads on the site would break the non-commercial rule.

Netlify is the opposite. Bandwidth costs 18 GB times 20 credits, which is 360 credits, and requests add 600,000 divided by 10,000, times 2, which is 120 credits. That is 480 credits before a single deploy, against a 300-credit allowance. At about 16 credits a day, the team pauses around day 18. With ten production deploys spending 150 credits, the pause arrives around day 9 instead. Working backwards, the free plan carries roughly 1,250 page views a day of this shape with no deploys at all.

Cloudflare barely notices the workload. Static requests and bandwidth are unmetered, and 2,000 Worker invocations a day use 2% of the daily allowance. Only the 10 ms CPU limit could bite, and a 5 ms handler fits under it.

Firebase Hosting is over on day one against the pricing page’s 360 MB a day, and over by about day 17 against the documented 10 GB a month. Render’s 5 GB of bandwidth runs out around day 9 as well. Past that point Render either suspends the free services or, with a card on file, bills about $1.95 for the 13 extra gigabytes at the listed $0.15 per GB.

On the database side, a Neon database receiving steady traffic rarely idles for five minutes. At 0.25 CU that is about 6 CU-hours a day, so compute is suspended around day 17. Supabase and Atlas carry this workload comfortably until storage reaches 500 MB or 512 MB.

The results in one table

PlatformBinding limit for this workloadOutcome
Cloudflare Workers Free100,000 requests a dayFits, 2% used
Vercel Hobby1M edge requests a monthFits, 60% used, but no ads allowed
Supabase Free500 MB databaseFits until storage grows
MongoDB Atlas Free512 MB storageFits until storage grows
Neon Free100 CU-hours a monthCompute suspended around day 17
Netlify Free300 credits a monthAll projects paused between day 9 and day 18
Render Free5 GB bandwidth a monthSuspended, or about $1.95 billed with a card on file
Firebase Spark Hosting360 MB a day or 10 GB a monthDisabled on day 1 or around day 17
AWS Free TierSix months, $100 to $200 creditsFits, then the account closes

What It Costs to Remove Each Free Tier Limit

The cheapest paid step is usually cheaper than the downtime, and for three of these platforms it has no fixed monthly fee at all.

PlatformCheapest paid stepPrice read 2026-09-28Source
VercelPro$20 a month, includes $20 usage credit, $20 per extra developer seatvercel.com/pricing
NetlifyPersonal$9 a month for 1,000 credits, extra credits purchasablenetlify.com/pricing
CloudflareWorkers Paid$5 a month, 10M requests and 30M CPU-ms includedWorkers pricing
FirebaseBlazePay as you go, no fixed fee, Spark allowance still includedfirebase.google.com/pricing
SupabasePro$25 a month, spend cap on by defaultsupabase.com/pricing
NeonLaunchPay as you go, no minimum, $0.106 per CU-hour, $0.35 per GB-monthneon.com/pricing
MongoDB AtlasFlex$8 to $30 a month depending on throughput, 5 GB storagemongodb.com/pricing
RenderStarter web service, Basic Postgres$7 a month web, $6 a month databaserender.com/pricing
AWSPaid account planPay as you go, no fixed fee, unused credits carry overfree tier plans

Two footnotes change how those rows read. First, Supabase Pro keeps a spend cap on by default, so exceeding a quota on Pro still disallows that usage until the next cycle unless you turn the cap off. Second, Atlas Flex still has a hard storage ceiling at 5 GB, so outgrowing that needs a dedicated cluster. For the full paid comparison of managed databases, see the managed Postgres pricing breakdown. Similarly, the Vercel vs Netlify vs Cloudflare cost comparison prices the hosting side at real traffic.

When to Build on a Free Tier

  • Prototypes and demos where a day of downtime costs nothing
  • Personal projects with no ads, no payments and no users depending on uptime
  • Learning a platform before committing a real workload to it
  • Staging and preview environments, provided they sit on a separate account from production
  • Low-traffic APIs on Cloudflare Workers, which has the most forgiving failure mode in this group

When NOT to Build on a Free Tier

  • Anything earning money, including a blog with display ads on Vercel Hobby
  • A Netlify or Render account that also hosts sites you cannot afford to lose, because suspension is account-wide
  • Data you need next month on Render free Postgres, which is deleted after 30 days plus a 14-day grace period
  • A Supabase project that sees no traffic for a week, since it pauses on its own
  • An AWS account you might forget, because the free plan ends in closure and deletion
  • A Firebase project that needs Cloud Functions or Cloud Storage, which now require Blaze

Common Mistakes With Free Tier Limits

  • Reading the allowance and ignoring the failure mode, which matters more than the number
  • Hosting one experimental project on the same team as three stable ones, so one spike pauses all four
  • Assuming limits reset on the first of the month, when Netlify resets on the account anniversary and Vercel waits 30 days
  • Forgetting that Neon counts deletes as writes, so freeing space after hitting 0.5 GB is harder than it looks
  • Trusting one pricing page when the docs disagree, as with Firebase Hosting’s 360 MB a day against 10 GB a month
  • Skipping a usage alert because nothing gets billed, since no bill also means no invoice to warn you

A Realistic Scenario: The Demo Week Outage

Consider a small team of two or three developers with four sites on one Netlify free team: a marketing page, a docs site, a portfolio and an experimental app. The experimental app gets shared in a community forum on a Monday, pulls a few thousand visitors over two days, and burns through the remaining credits by Wednesday. Every one of the four sites now shows “Site not available”, including the marketing page a prospective client is due to look at on Thursday.

The first instinct is to delete the experimental app. That does not help, because the credits are already spent and the pause lasts until the next billing cycle. The actual fixes are to upgrade to the $9 Personal plan, which lifts the pause immediately, or to move the marketing page to another host within the day.

The lasting lesson is structural. Put experiments on a separate account from anything that matters, or put them on a platform whose failure mode is per-request rather than per-account. Cloudflare’s 1027 errors would have hit only the experimental app, and only until midnight UTC. The same thinking applies to backend services, where serverless cost patterns and AWS cost optimization both come down to knowing which meter moves first.

Choosing a Free Tier by How It Fails

Free tier limits are all generous enough for a quiet project, so comparing the allowances rarely decides anything. What decides it is how each platform fails. Cloudflare and Atlas degrade gently, Supabase and Neon protect your data while blocking writes, and Netlify, Render and AWS can take the whole account down or delete it outright.

The practical next step takes ten minutes. For every free project you run, write down which ceiling it hits first and what the platform does at that point, using the tables above. Then move anything with account-wide suspension or a deletion deadline off the free tier, or at least onto its own account. If you are building on Firebase, the Firestore setup guide for Flutter is a good place to check which of your reads count against the daily 50,000.

These free tier limits change several times a year, and at least three of the nine, Netlify, Firebase and AWS, changed what their free plan includes since 2025. Treat this table as dated 28 September 2026, and check the vendor page before you rely on a number.

Last Updated: September 2026