Skip to content
← All posts
12 min read

Vercel vs VPS for Next.js: The $4 Server That Really Costs $104/Month

Vercel Pro is $20/seat plus metered usage; a Hetzner VPS is ~€4/month flat. I ran the bill math on four real workloads to find where the crossover hits.

Vercel vs VPS for Next.js: The $4 Server That Really Costs $104/Month

I keep seeing the same two screenshots in developer group chats. One is a Vercel invoice for a side project that went mildly viral. The other is a smug "my Hetzner bill this month: €4.35" from someone running the same stack on a VPS. Both people think the other one is doing it wrong. I have run Next.js apps on both, and the honest answer is that both screenshots are real - they are just describing different workloads. Here is the bill math, with the four scenarios that actually decide it.

The short answer

Vercel wins when your app is small, your team is one or two people, and you would rather ship than babysit servers. A VPS wins the moment bandwidth grows past roughly a terabyte a month or your team needs more seats, because a €4/month VPS is flat while Vercel meters nearly everything. Bandwidth is the bill, not compute - and that is the whole decision in one sentence. Read the scenarios below to find which side of the crossover you are on.

What Vercel actually costs in October 2026

Vercel's pricing page has moved from simple tiers to credit-based billing, so let me lay out what a Pro team actually pays. I pulled these from Vercel's own pricing page, fetched today.

PlanPriceThe limits that matter
Hobby$0Personal, non-commercial use only. 100GB/month data transfer, 1M function invocations/month, 4 hours of Fluid Active CPU/month, 1 developer seat
Pro$20/user/monthCommercial use, 1TB bandwidth, 10M Edge requests/month, 1,000 GB-hours of function duration, a $20/month included usage credit, pay-as-you-go after that
EnterpriseCustomSSO, audit logs, 99.99% SLA, compliance - you do not need this until compliance or procurement says you do

Three mechanics matter more than the table:

Credit-based billing. Since September 2025, Pro runs on credits. Your $20 seat includes a $20 usage credit that burns against bandwidth, function execution, and build minutes before overages start. It is not "free money" - it is just the included allowance wearing a different costume.

Bandwidth is the meter that breaks bills. Independent 2026 pricing guides put usage-based bandwidth overage at roughly $0.15/GB once you pass the included allowance. That sounds small until a 500GB month costs you an extra $75 on top of seats. Vercel knows this too, which is why they offer Flat Rate CDN: a fixed monthly price for CDN requests and transfer on Pro, with no overages and built-in spike protection.

Spend guardrails exist - use them. New teams get a default $200 on-demand usage budget with email and SMS notifications, and you can set a hard limit that pauses projects at 100%. Turn this on before your first viral day, not after. Vercel has also added recursion protection, improved function defaults, and an Attack Challenge Mode over the past year - all aimed at runaway bills, including bots and DDoS traffic that you pay for.

The honest summary: one seat on Pro with moderate traffic is genuinely $20-40/month. The horror stories start when seats multiply and bandwidth compounds, because both meters run every single month with no ceiling.

What a VPS actually costs

A VPS is the opposite deal: flat hardware, metered only by your own neglect. Current 2026 prices from independent developer comparisons:

ProviderEntry that fits Next.jsMonthly priceBandwidth
Hetzner CX222 vCPU, 4GB RAM, 40GB NVMe~€4/month20TB included
DigitalOcean Basic1 vCPU, 2GB, 50GB SSD$12/month4TB included
DigitalOcean 4GB2 vCPU, 4GB, 80GB SSD$24/month4TB included
Vultr1 vCPU, 2GB (High Frequency)~$12/monthgenerous allowance
OVHcloud2 vCPU, 2GB~$4.20/monthunmetered on most plans

The Hetzner line is the one that ends arguments: 2 vCPUs and 4GB of RAM for about the price of a coffee, with 20TB of traffic. One developer benchmarked the CX22 against DigitalOcean's $24 Premium tier in 2026 and found Hetzner within a few percent on throughput - the 5-6x price gap is real, not a trick.

But the price table hides the real cost of a VPS, which is you. Budget honestly: first setup with Docker and Coolify is 1-3 hours if you have done it before, longer if not. Monthly upkeep - updates, certificate renewals, backups, the occasional 2 AM "why is the site down" - is 30 to 60 minutes in a normal month. At a $30-50/hour freelance rate, that is $15-50/month of your time. The VPS is still cheaper for almost every workload below enterprise scale, but it is not €4/month for everyone. It is €4 plus your ops labor.

What closes most of the gap: Coolify (free, open source). It gives you git-push deploys, automatic TLS, Postgres and Redis one-click services, and monitoring on your own VPS - roughly the Vercel developer experience for the price of the server. Dokku does the same for less money in complexity, more in manual config. I would not self-host a production client site in 2026 without one of these two.

The one meter that decides your bill

Every "Vercel is expensive" argument and every "VPS is cheap" argument is really an argument about bandwidth. Compute is nearly free everywhere in 2026 - what differs is how the two models charge for moving bytes to users. Three numbers make the point:

20TB

bandwidth included on a €4 Hetzner CX22

Hetzner Cloud pricing, 2026

1TB

bandwidth included on Vercel Pro

Per 2026 pricing guides; usage-based overage beyond it

6x

price gap at 4GB RAM: DigitalOcean $24 vs Hetzner ~€4

Independent dev.to VPS comparisons, 2026

My rule, after running apps on both sides: if your app serves under ~1TB/month and your team is one or two people, Vercel's price is reasonable rent for zero-ops. Past 1TB, or with three or more seats, do the VPS math seriously - the gap stops being a rounding error.

Why seats matter so much: Vercel charges $20 per user per month whether they deploy daily or opened the dashboard twice. A three-person team pays $60/month before a single byte is served. The VPS does not know how many people are on your team.

The bill math: four real scenarios

All figures USD/month before tax. Bandwidth overage on Vercel's usage-based tier is roughly $0.15/GB per 2026 third-party pricing guides - treat it as a planning estimate, not a contract term.

Scenario 1: a side project with no revenue. Vercel Hobby is $0 and perfectly legal - the non-commercial clause does not apply. A VPS costs you $4-12/month. Vercel wins outright: zero cost, zero ops, preview URLs for free. The only reason to use a VPS here is if you want the practice.

Scenario 2: a solo commercial SaaS, ~400GB/month, one seat. Vercel Pro: $20/month, inside the included allowance. Hetzner CX22: €4 ($4.35). Vercel costs 4-5x more in raw dollars - but you bought zero server maintenance, instant rollbacks, and preview deployments for client demos. This is the scenario where the answer is genuinely "it depends on how you value your weekends." I pick Vercel here when the app is the product and client trust matters; I pick the VPS when it is my own experiment.

Scenario 3: a 3-person team, 1.5TB/month. Vercel: 3 x $20 seats = $60, plus ~500GB over the allowance at ~$0.15/GB = ~$75. Total: ~$135/month. VPS: €4-8/month, same app. The gap is roughly 15-25x. This is the crossover in the wild - seats times bandwidth is the compounding the marketing pages never show you. At this scale I self-host with Coolify and spend the saved $1,500/year on literally anything else.

Scenario 4: the viral month - 5TB in one spike. Vercel usage-based: $60 in seats plus ~4TB of overage, which at ~$0.15/GB is on the order of $600 extra. That is an estimate, but the shape is right: the spike costs more than the year of hosting it would have replaced. This is exactly what Flat Rate CDN exists for - one fixed monthly price, no overages, spike protection built in. If your traffic is spiky or you have ever been on the front page of Hacker News, price Flat Rate CDN before you commit to usage-based. The VPS, for the record, costs €4 in the viral month too - though you should make sure your single box survives the spike, which is an ops question, not a billing one.

ScenarioVercel ProHetzner VPS + CoolifyWinner
Non-commercial side project$0 (Hobby)~$6Vercel - free is free
Solo commercial SaaS, 400GB/mo~$20~$4 + your ops timeDepends on your hourly rate
3-seat team, 1.5TB/mo~$135~$4-8VPS by ~15x
Viral spike month, 5TB~$660 est. (or Flat Rate CDN)~$4VPS, unless Flat Rate CDN

The meter nobody prices: your ops time

The VPS crowd quotes €4/month and stops. That is dishonest in the other direction. Here is what I actually spend on a Coolify-managed VPS per month: roughly 30-60 minutes of updates and the occasional alert, plus amortized setup time. When I scope infrastructure for a client project, I now line-item hosting with my maintenance rate attached, because the client pays for my time either way.

Do the honest version of this math for yourself:

  1. Your effective hourly rate (what an hour of your time is worth - use your freelance rate, not your salary).
  2. VPS server cost + (estimated monthly ops hours x your rate).
  3. Compare against Vercel Pro: seats x $20 + estimated usage.

For most solo developers, the honest VPS number lands around $40-80/month at real freelance rates - still half or less of a multi-seat Vercel bill at scale, but not the €4 meme number. Vercel's real product was never hosting. It is buying back your hours. Price the hours, not the server.

The tools on the table

ToolWhat it isSticker priceOfficial page
Vercel ProZero-ops Next.js hosting: git-push deploys, edge network, preview URLs, instant rollbacks$20/user/month + metered usagevercel.com/pricing
Hetzner CloudThe price-performance VPS: CX22 at ~€4/month with 20TB traffic~€4-16/monthhetzner.com/cloud
DigitalOceanThe beginner-friendly VPS: 1-click marketplace, managed databases, $200/60-day trial credits$6-24/month for Basic dropletsdigitalocean.com
VultrHigh-frequency VPS with 32+ global locationsfrom ~$6/monthvultr.com
HostingerBudget VPS with a managed panel for non-ops peoplefrom ~$4-5/monthhostinger.com
CoolifyFree, open-source PaaS on your own VPS: git-push deploys, auto TLS, one-click Postgres/Redis$0 (self-hosted)coolify.io

This is the same cost-math discipline I used when I broke down the X Subscription vs Cursor Pro pricing - hosting is a line item with a maintenance tail, not a sticker price.

The 5-minute checklist before you decide

  1. Check your commercial status

    If the project makes money - or will within the year - Vercel Hobby is off the table. That rule alone decides the answer for every freelancer with client work.

  2. Pull your last 3 months of bandwidth

    Vercel dashboard, Cloudflare, or your current host. Under ~1TB/month with 1-2 people: Vercel Pro is fairly priced. Over ~1TB or 3+ people: the VPS math deserves a spreadsheet.

  3. Count your seats, not your developers

    Vercel bills per user on the team, not per deployer. Multiply seats x $20 and add it to the bandwidth estimate before comparing anything.

  4. Price your ops time honestly

    VPS cost + (monthly ops hours x your hourly rate). If you have never run a server before, budget 3-5 hours for the first month - the learning is valuable, but it is not free.

  5. Set the guardrails before traffic arrives

    On Vercel: turn on the $200 spend budget, enable hard limits, and price Flat Rate CDN if your traffic spikes. On a VPS: set up backups and uptime alerts on day one, not after the first outage.

What is still unclear

Honest gaps as of October 20, 2026: Vercel's exact usage-based bandwidth overage rate varies by region and plan configuration, so the ~$0.15/GB figure from third-party guides is a planning estimate - confirm your actual rate in the Vercel dashboard before signing anything. Flat Rate CDN's exact fixed price is in Vercel's docs, not in this post, because it can change. Hetzner's headline prices exclude VAT, and their infamous account-verification process can reject legitimate signups, especially outside Europe - budget a backup provider. And the biggest unknown is yours: traffic forecasts are guesses. Pick the platform whose failure mode you can afford - a surprise Vercel invoice, or a 2 AM server alert.

My verdict: what I would pick, and why

If you are forcing me to choose one, here it is. For a solo project or a small commercial app, I pick Vercel Pro, and it is not close. The VPS is cheaper on paper, but the paper leaves out the meter that actually runs: your time. Two hours of server babysitting a month at any real hourly rate costs more than the entire Vercel bill, and a 2 AM outage alert does not care that you saved $16.

The moment the math flips, I move: past roughly 1TB of monthly bandwidth, or the moment a second paid seat appears, the VPS wins and I stop arguing. A EUR 4 Hetzner box with a boring, documented setup beats metered billing you cannot predict. Why a VPS instead of staying? Because at that scale the overage line grows every month while the VPS line stays flat, and flat is what a business can plan around.

So the rule I actually use: Vercel until the bill proves you have outgrown it, VPS the day it does. Choose based on which failure you can afford - a surprise invoice, or a server that is your problem at 3 AM.

Frequently asked questions

Is Vercel free for commercial Next.js apps? No. Vercel's Hobby plan is free but limited to personal, non-commercial use - using it for a revenue-generating project violates their terms. Any commercial project needs Pro at $20 per user per month plus metered usage on top. That single rule kills the "Vercel is free" argument for anyone shipping client work or a paid product.

How much does Vercel Pro really cost per month? The sticker is $20 per seat per month, but the real bill is seats plus metered usage. Pro runs on credit-based billing: a $20 included credit covers usage, then you pay for bandwidth, function execution, and build minutes beyond the allowance. One seat with moderate traffic lands around $20-40; three seats with 1.5TB of bandwidth can land around $135. Set the $200 default spend budget and hard limits in the dashboard.

Is a $4-6 VPS enough to run a Next.js production app? Yes, for most apps. A Hetzner CX22 (2 vCPU, 4GB RAM, 20TB traffic) at roughly €4/month runs a Next.js app, Postgres, and a reverse proxy with headroom. The real requirement is not hardware - it is your willingness to do the ops: Docker, TLS certificates, backups, and updates. Coolify turns most of that into a one-time setup.

What is the cheapest way to host Next.js in 2026? For a non-commercial project: Vercel Hobby at $0, full stop. For a commercial project with real traffic: a €4/month VPS is the cheapest raw compute, but add your ops time at your real hourly rate before declaring victory. If your rate is $50/hour and the VPS costs you two hours a month, the VPS "costs" $104/month.

When does Vercel become more expensive than a VPS? Three triggers, in order: extra seats ($20 each, every month, whether they deploy or not), bandwidth past the included allowance (metered per GB, and 2026 guides put usage-based overage around $0.15/GB), and heavy build pipelines. The crossover for a solo dev usually sits around 1TB/month of bandwidth or two-plus seats. Past that, the VPS math is not close.

What is Vercel Flat Rate CDN? An alternative billing option on the Pro plan: instead of usage-based CDN charges, you pay a fixed monthly amount for CDN requests and data transfer regardless of traffic. It is Vercel's answer to viral-spike bills - predictable cost, no overages. If your traffic is spiky or you cannot tolerate surprise invoices, price this before you commit to usage-based.

If you are a founder or freelancer staring at a hosting bill that stopped making sense, this is exactly the kind of infrastructure audit I do for clients - get in touch and bring your last invoice. One bad month of bandwidth overages pays for the audit.

Related