The Vercel pricing question is rarely “is Hobby enough storage.” It is “am I even allowed to use Hobby for this.” The Hobby plan is restricted to non-commercial, personal use, and Vercel’s fair-use rule spells out exactly what counts as commercial: any deployment that runs ads (Google AdSense is named explicitly), where affiliate linking is the primary purpose, that takes payments, that you were paid to build, or that even asks for donations. If your site does any of those, you need Pro regardless of how little bandwidth you use. This guide gives the verified June 2026 limits, the exact commercial-use definition, and a spend-cap setup so Pro never surprises you.
TL;DR
- Hobby is free but non-commercial only. Ads (including AdSense), affiliate-first sites, payments, paid client work, and donation requests all count as commercial and require Pro.
- Pro is $20/month per deploying seat and includes $20 of usage credit, 1 deploying seat, and unlimited free read-only Viewer seats.
- The most common real upgrade trigger is monetization, not a technical wall. The second is a teammate who needs to deploy.
- Functions on Hobby cap at 60s; Pro raises the max to 300s (5 minutes) — useful for AI calls, PDF/file processing, and slow third-party APIs.
- Set a Spend Management cap on Pro so usage overages can’t run away.
The commercial-use rule (the part people miss)
As of June 2026, Vercel’s fair-use guidelines define commercial usage as any deployment “used for the purpose of financial gain of anyone involved in any part of the production of the project.” The named examples include:
- Requesting or processing payment from visitors
- Advertising the sale of a product or service
- Being paid to create, update, or host the site (client/freelance work)
- A site whose primary purpose is affiliate linking
- Including advertisements, “including but not limited to online advertising platforms like Google AdSense”
Vercel even notes that asking for donations counts as commercial use. A personal blog with zero ads, zero payments, and no client relationship is fine on Hobby indefinitely. The moment you bolt on AdSense or an affiliate banner, you are over the line — independent of bandwidth.
Enforcement is uneven and often arrives with a warning email, but it is policy, and the downside is losing the deployment. Do not treat “they probably won’t notice” as a plan.
Limits snapshot (verified June 2026)
Capability Hobby Pro
──────────────────────────────────────────────────────────────────────
Commercial use NO Yes
Price Free $20/seat/mo + $20 credit
Fast Data Transfer (incl.) 100 GB 1 TB
Edge Requests (incl.) 1,000,000 10,000,000
Function invocations 1,000,000 1,000,000 incl.
Function max duration 60s (10s default) 300s / 5 min (15s default)
Build execution minutes 6,000 24,000
Build machine 4 vCPU / 8 GB 30 vCPU / 60 GB (Turbo)
Concurrent builds 1 On-demand (fair-use 500)
Projects 200 Unlimited
Deployments/day 100 6,000
Team / deploying seats 1 (personal) 1 incl., +$20 each
Viewer (read-only) seats — Unlimited, free
Password protection No Add-on
Runtime log retention 1 hour 1 day
Analytics retention 1 month 12 months
Numbers come from Vercel’s Hobby plan and Pro plan docs. Two things changed from older write-ups and trip people up: the Pro function ceiling is 300 seconds, not 15 minutes, and password protection on Pro is now a paid add-on, not bundled.
How Pro billing actually works
Pro is not a flat $20-and-done. The $20 platform fee buys one deploying seat plus $20 of usage credit per month. After you exceed the included allocations (1 TB transfer, 10M edge requests, 1M invocations), usage is charged against that credit first, then billed on-demand. Fast Data Transfer overage is now regionally priced rather than a single flat rate, so don’t quote a fixed per-GB number; check your region. Function execution overage is $0.60 per GB-hour increment.
For most indie content sites, the included 1 TB and 10M edge requests are far more than you’ll use, so the practical cost stays at $20/seat. The risk is a runaway function (an unbounded loop hitting an AI API, an image route with no cache) — which is exactly what the spend cap below protects against.
When to upgrade
Upgrade to Pro the moment any of these is true:
- The project earns money in any form — ads, affiliate, payments, lead-gen, or donations. This is the legal trigger, not just a technical one.
- A teammate needs to deploy or edit env vars (give read-only collaborators a free Viewer seat instead).
- You hit the 60-second function timeout and need up to 5 minutes (common with AI model calls, PDF generation, or slow upstream APIs).
- You need password-protected preview deployments for client review (Pro add-on).
- Build-queue waits on a single concurrent build are slowing your iteration loop.
For a pure personal side-project with no revenue and no team, Hobby is fine forever.
Migrate cleanly: the 6-step playbook
- Audit every project for commercial use. List them and tag each
commercialorpersonal:
vercel projects ls --token "$VERCEL_TOKEN"
# annotate each: commercial (ads/affiliate/payments/client) or personal
-
Resolve each commercial project. Either strip the monetization and keep it personal, or move it to Pro. Don’t leave a commercial project on Hobby “for now.”
-
Upgrade to Pro. Dashboard → Settings → Billing → Upgrade. You can also start a Pro trial first to test the features at no cost. Add paid seats only for people who deploy; everyone else gets a free Viewer seat.
-
Put commercial projects under the Pro Team scope. Settings → Transfer project. This is the step people forget: the plan attaches to the scope, not to you. A project sitting in your personal scope is still bound by Hobby limits even though your Team is on Pro.
-
Set a spend cap with Spend Management. This is Vercel’s real cost control, not a public billing-alerts API. Team → Settings → Spend Management:
Set a spend amount (e.g. $50/cycle)
Enable "Pause production deployment" at the cap
Notifications fire automatically at 50%, 75%, and 100%
SMS alert available at 100%
Note that Vercel checks usage every few minutes, so projects can keep serving (and accruing) for a short window after you cross the cap. New customers default to spend-management notifications at $200/cycle — lower it if your budget is tighter.
- Right-size seats monthly. List who has actually deployed and prune dormant deploying seats down to Viewer:
vercel teams members ls --team "$TEAM" --token "$VERCEL_TOKEN" --format json \
| jq -r '.[] | select(.lastActiveAt != null) | [.email, .role, .lastActiveAt] | @tsv'
# downgrade deployers idle 60+ days to a free Viewer seat
Verify the move
- The Vercel dashboard shows each commercial project under the Team (Pro) scope, not your personal one.
- Function logs show no 60-second timeout errors on long-running routes after raising
maxDuration. - Bandwidth and edge-request usage sit comfortably inside the included 1 TB / 10M before any overage.
- Spend Management shows an active cap with “Pause production deployment” enabled.
Common pitfalls
- Running AdSense or affiliate banners on Hobby and assuming it’s fine. Vercel names AdSense explicitly as commercial use. This is the single biggest mistake.
- Upgrading because you “ran out of bandwidth” when the real cause was unoptimized images. Fix image optimization first; you rarely need Pro for a content site’s bandwidth.
- Buying a paid seat for every contributor. Only deployers need a $20 seat; reviewers and viewers are free.
- Forgetting to transfer projects to the Team scope after upgrading. The plan follows the scope, so a personal-scope project stays capped at Hobby limits.
- Skipping the spend cap and getting surprised by a runaway function. Set Spend Management with pause-on-cap from day one.
- Expecting password protection to be included on Pro. As of 2026 it’s a paid add-on.
FAQ
- What exactly counts as commercial use on Hobby?: Per Vercel’s fair-use rule, any deployment for someone’s financial gain: payments, advertising a product, paid client/freelance work, a site whose primary purpose is affiliate links, ads (AdSense named explicitly), and even donation requests. A personal blog with none of those is fine.
- Does Pro have a free trial?: Yes. Vercel offers a Pro trial so you can test Pro features for free before paying, with some trial limitations. Hobby is also free for validating the platform on non-commercial work.
- How long can a function run on each plan?: Hobby caps at 60 seconds (10s default). Pro allows up to 300 seconds / 5 minutes (15s default) when you set
maxDuration. There is no 15-minute tier on Pro as of June 2026. - Is $20 the total monthly cost on Pro?: For one deployer with usage inside the included allocations, yes — the $20 platform fee includes $20 of usage credit. You pay more only for extra deploying seats ($20 each) or on-demand usage beyond the credit and included limits.
- Can I downgrade?: Yes. Downgrade in Billing; Pro features stop and projects revert to Hobby limits. Note all active members except the original owner are removed, and connected stores/domains may need manual transfer first.
- Do I pay per project or per seat?: Per seat. One Pro seat covers every project in that Team scope, and Pro projects are unlimited (Hobby caps at 200).