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.

Pricing verified against vercel.com/pricing and the vercel.com/docs/limits reference as of May 2026. Limits change frequently — treat this as a snapshot. We have not personally tested every feature listed; coverage is documentation-based.

Hobby vs Pro vs Enterprise — at a glance

The full per-resource breakdown. Numbers reflect what’s included before metered overage on Pro, and what’s negotiated on Enterprise. Verified May 2026.

Resource Hobby Pro Enterprise
Price / seat / month $0 $20 per developer seat Custom (sales-led)
Commercial use allowed No — personal / non-commercial only Yes Yes
Fast Data Transfer (bandwidth) / month 100 GB 1 TB included, then metered (regional) Custom
Function invocations / month 1,000,000 1,000,000 included, then $0.60 per 1M Custom
Function duration (max) 60 seconds 300 seconds (5 min) 900 seconds (15 min)
Function memory (max) 2 GB / 1 vCPU 2 GB default, up to 4 GB / 2 vCPU with Fluid Compute 2 GB default, up to 4 GB / 2 vCPU with Fluid Compute
Build execution / month 6,000 minutes Pay-as-you-go ($0.014–$0.126/min by machine type) Custom
Concurrent builds 1 12 (fair-use cap of 500) Custom
Image optimisation — source images / month 1,000 (legacy meter; some accounts on 5,000 newer meter) 5,000 included, then $5 per 1,000 Custom
Image optimisation — transformations / month Not publicly disclosed 10,000 included, then regional metered Custom
Edge Config reads / month 100,000 1,000,000 included, then $3 per 1M Custom
Team members / seats 1 (single user only) Unlimited viewer seats; each developer = $20/mo Custom (SSO, SCIM, role-based access)
Custom domains per project 50 Unlimited (soft cap 100,000) Unlimited (soft cap 1,000,000)
SSL certificates Included (auto-renewed) Included (auto-renewed) Included; custom certs supported
Runtime log retention 1 hour 1 day 3 days
Speed Insights Included — 10,000 data points / month $10/project/mo; 10,000 data points included, then $0.65 per 10K Custom
Web Analytics events / month 50,000 included 100,000 included, then $0.00003/event Custom
Support response time Community / forum only Email support; no published SLA Dedicated support with SLA (custom)

The numbers worth memorising before any architectural decision: 1M invocations, 100 GB bandwidth, 60-second function ceiling, one concurrent build, single seat, no commercial use. Everything else is detail.

TL;DR

  • Hobby is not for commercial SaaS. Vercel’s Terms of Service restrict Hobby to non-commercial, personal use. If your site has a paid plan, ads, or sells anything, you’re technically in violation the day you turn on Stripe.
  • The numerical limits are calibrated for hobby projects. 100 GB bandwidth, ~100K function invocations, 6,000 build minutes, 10-second function timeout, one concurrent build.
  • Most SaaS apps outgrow Hobby around 5,000–10,000 monthly active users — before that, the bandwidth cap and function invocation cap usually bite first.
  • Pro at $20/user/month raises every cap, removes the commercial-use restriction, and adds analytics, password protection, and team features. Overages are real but predictable.
  • Cloudflare Pages, Netlify, and Railway free tiers are the closest like-for-like alternatives. None match Vercel’s Next.js DX, but each has a more permissive free tier for actual product work.

The “no commercial use” clause

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:

  • You have a billing integration on the site (Stripe, Lemon Squeezy, Paddle).
  • You display ads, including affiliate links and Google AdSense.
  • You use the deployment to fulfill a paid client engagement.
  • The project is owned by an LLC or other commercial entity.

What doesn’t (typically) trigger it:

  • A personal blog with no monetization.
  • An open-source project landing page.
  • A documentation site for a non-commercial project.
  • A demo or learning project with no revenue.

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.

Numerical limits, line by line

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.

Hobby (Free)
$0/month, non-commercial
  • Bandwidth: 100 GB/month. Includes both edge and origin egress. Image optimization counts.
  • Function invocations: ~100,000 GB-hours/month (measured in serverless function compute, not raw call count). For most small apps this translates to several hundred thousand individual invocations.
  • Function duration: 10 seconds maximum per invocation on Hobby (Pro raises this to 60 seconds default, up to 5 minutes).
  • Build execution: 6,000 build minutes/month. Sounds like a lot until you have a CI loop deploying every PR.
  • Concurrent builds: 1. If you push two commits in quick succession, the second waits.
  • Image optimization: 1,000 source images, ~5K transformations. The optimization meter counts unique source images, not requests.
  • Edge config reads: included with limits on the daily-read tier.
  • KV / Postgres / Blob storage: small free allowances on each (typically a few hundred MB of storage and a low daily request quota), shared across all Hobby projects on the account.
  • Team features: none. Hobby is single-user only.
  • Custom domains: unlimited domains, but no password protection or preview deployment auth.

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.

The MAU at which Hobby breaks

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:

Pattern 1: Static-heavy marketing site with a small auth’d app

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.

Pattern 2: Server-rendered Next.js app with database calls per request

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.

Pattern 3: Image-heavy or media-heavy product

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.

You will outgrow Hobby when…

Three concrete trigger conditions. If any one of these is true for you today, Hobby is no longer the right home for the project — upgrade to Pro or move to a free tier that allows commercial use.

1. You ship anything that takes paid customers

The moment you wire Stripe, Lemon Squeezy, Paddle, or any other billing integration into the deployment — even at $1 MRR — you’re outside the “non-commercial, personal” envelope. There is no numerical threshold to wait for. The trigger is binary: one paying customer = move to Pro that day. The $20/month is materially less than what a takedown notice during launch week costs you in lost trust.

2. Your traffic crosses ~50K monthly pageviews (or ~10K MAU on a server-rendered app)

At ~50K pageviews on a Next.js app with server components hitting a database, you’re typically running 500K–1M function invocations/month, which sits at or above the included 1M Hobby cap once API routes and prefetches are counted. Bandwidth on a static-asset-heavy site usually hits the 100 GB ceiling around 80K–150K pageviews depending on image weight. Once you’re consistently at 50%+ of either cap for two months in a row, the pause-on-overage behaviour is a launch-week disaster waiting to happen.

3. You need more than 10 seconds of function execution (or more than one concurrent build)

Hobby’s 60-second function ceiling is generous on paper, but the default for legacy projects is 10s and many real workloads need longer: PDF generation, image processing pipelines, LLM streaming responses with long initial token latency, and any job that aggregates data from a slow upstream API. If you’re hitting timeouts at 10–15 seconds, Pro’s 300-second ceiling (and 15s default) buys you headroom. Same logic on builds: the moment you’re shipping pull-request previews and feature branches in parallel, Hobby’s single-concurrent-build queue starts dictating your iteration speed.

What “your project is paused” actually looks like

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 plan — what $20 actually buys

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.

Escape hatches: free tiers that allow commercial use

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

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

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

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.

When to stay on Hobby (and when to leave)

Stay on Hobby if:

  • You’re building a side project, demo, or portfolio site with no monetization.
  • You’re learning Next.js or evaluating Vercel for future paid work.
  • You’re hosting documentation for an open-source project.
  • You’re running an MVP with no paying customers and no plans to charge in the next month.

Leave Hobby (move to Pro, or to a different platform) if:

  • You’ve accepted your first paying customer. Even one.
  • You’re running ads, affiliate links, or any monetization on the deployed site.
  • You’re consistently above 50% of any numerical limit for two months running.
  • You need team access, password-protected previews, or analytics.
  • Your function durations are running past 8 seconds and being clipped.

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.

Bottom line

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.

Related reading

Get one SaaS build breakdown every week

The stack, prompts, pricing, and mistakes to avoid — for solo founders building with AI.

P
Jake McEwen, editor
One person, one editorial voice. If something on this page is wrong — pricing, a feature, a recommendation — the responsibility is mine. Tell me on LinkedIn and I’ll fix it.