Bandwidth, function invocations, build minutes, the “no commercial use” clause, and the MAU at which Hobby quietly breaks. Numbers verified against vercel.com/pricing.
Vercel’s Hobby plan is one of the most generous-looking free tiers in the platform-as-a-service market. The marketing copy says “everything you need to ship side projects.” The fine print says something more specific: Hobby is for personal use, learning, and non-commercial projects. The single most important fact about Vercel’s free tier — the one that pushes most founders to Pro before any usage limit ever bites — is that you are not allowed to run a SaaS on it. The numerical caps come second. This guide walks both: the rule, and the limits, and the MAU at which Hobby breaks even when the rule doesn’t.
Methodology. Numbers verified against vercel.com/pricing and Vercel’s public limits documentation as of May 2026. Limits change frequently — treat this as a snapshot, not a contract. Always reconcile with the current pricing page before making infrastructure decisions.
This is the most overlooked thing about Vercel’s pricing. Hobby is explicitly described on the pricing page and in the terms as a plan for “non-commercial, personal” use — learning, side projects, demos, portfolios. The terms call out specifically that Hobby cannot host websites that “serve commercial purposes” or generate revenue.
In practice, what triggers it:
What doesn’t (typically) trigger it:
Enforcement is not consistent — many small SaaS sites run on Hobby for months without issue — but the policy is real and Vercel does send notices. The pragmatic read: the moment you accept a paying customer, move to Pro. The $20/month is cheaper than the cost of getting a takedown notice during your launch week.
Even setting commercial-use rules aside, Hobby has a clear set of resource caps. These are the numbers that define what you can actually run before you trip a meter.
For a static marketing site, every one of these limits is comfortable. For a dynamic Next.js app with server components hitting a database on every render, the function invocation cap is the first to feel tight.
Most founders ask the wrong question: “how many users can I run on Hobby?” The right question is which limit will hit first for your traffic shape.
Three rough patterns:
Mostly statically generated pages, a small dashboard behind login. Bandwidth is dominated by static asset delivery; function invocations are low. Hobby holds to ~20K MAU in this shape. Most founders running a docs-style site never hit a numerical cap.
Every page hits the database. Auth check, data fetch, render. Function invocations climb fast: a single MAU averaging 30 page views/month is 30+ function calls; at 5K MAU that’s 150K invocations and you’re flirting with the cap. Add API routes that the client polls and the math gets worse. Hobby breaks around 3K–5K MAU for this shape.
Image optimization counts against bandwidth twice (once on the source pull, once on delivery). Apps that serve user-uploaded images or generated thumbnails burn through 100 GB/month at surprisingly low MAU counts. Hobby breaks around 1K–3K MAU if your product is image-heavy.
The general rule: most paid SaaS apps outgrow Hobby’s numerical limits between 5K and 10K MAU. Before that point, the “no commercial use” clause is your real blocker. After that point, the function invocations and bandwidth caps start dictating your migration timeline.
When you exceed a Hobby limit, Vercel doesn’t auto-overage you — the project gets paused. New requests start serving an error page. Existing builds are blocked. The dashboard shows a banner asking you to upgrade.
This is good behavior in some ways (no surprise bill) and brutal in others. The default failure mode is your site goes down, not your card gets charged. For a hobby project, that’s reasonable. For a paying SaaS customer, your product being unavailable for hours while you upgrade and re-deploy is a worse outcome than any overage charge would be.
The defensive move: if you’re running anything resembling a real product on Hobby, set up usage alerts via the Vercel dashboard well before you hit caps, and have a Pro upgrade path queued up. Better still, just upgrade preemptively the day you take your first paying customer.
Pro is priced per user. A solo founder running their own SaaS pays $20/month. The moment you add a co-founder or contractor with deploy access, you’re at $40. This is a meaningful difference from competitors that charge per project or per organization rather than per seat.
Overages exist on Pro — bandwidth past 1 TB, invocations past the included pool, image optimizations past quota. They’re published on the pricing page and metered transparently. The math is fine for early-stage SaaS but creeps once you cross meaningful traffic. Our full Vercel pricing breakdown walks the realistic monthly bills at 1K, 10K, 100K MAU.
If the “no commercial use” clause is the dealbreaker (and for many solo founders, it is), three platforms have meaningfully different free tiers:
Cloudflare Pages allows commercial use on its free tier. Bandwidth is unlimited at the free tier, builds are limited (500/month), and Workers (their function equivalent) get 100K requests/day free. The Next.js story is decent via the OpenNext adapter but lags Vercel on day-one feature parity. For a content-heavy SaaS site or a static marketing page that monetizes, Cloudflare Pages is the hardest free tier to outgrow on the bandwidth side.
Netlify’s free Starter tier explicitly allows commercial use. 100 GB bandwidth, 300 build minutes, 125K serverless function invocations. The numerical caps are similar to Vercel Hobby but without the commercial-use restriction. Migration from Vercel to Netlify on a Next.js project is non-trivial — some Next.js features (like ISR with on-demand revalidation) behave differently — but for plain React or static-export apps, it’s a closer swap.
Railway is a different kind of platform — long-running containers rather than serverless functions — but its trial credit (~$5/month effective) covers small apps and there’s no commercial-use restriction on the paid Hobby plan ($5/month). For Next.js apps that need long-running workers, websockets, or background jobs, Railway is often the right answer well before Vercel Pro’s feature set helps. We compare both in our Vercel vs Railway breakdown and walk the migration triggers in when to switch from Vercel to Railway.
Stay on Hobby if:
Leave Hobby (move to Pro, or to a different platform) if:
The single biggest mistake solo founders make with Vercel is staying on Hobby through their public launch. Hobby’s pause-on-overage behavior is exactly wrong for that moment. Either upgrade to Pro the day before launch, or move to a free tier that allows commercial use and has more headroom.
Hobby is for non-commercial projects, full stop. The numerical limits matter, but they’re not the binding constraint for a real SaaS — the terms-of-service clause is. Once you have a paying customer, you’re on Pro at $20/month or you’re on a different platform.
For most solo founders building paid SaaS on Next.js, the right starting point is either Vercel Pro from day one (if you want the cleanest DX) or Cloudflare Pages / Netlify free (if budget is the binding constraint and you can tolerate slightly less polish). Hobby has a place — it’s an excellent free tier for what it’s designed for — but commercial SaaS is not what it’s designed for.
The stack, prompts, pricing, and mistakes to avoid — for solo founders building with AI.