The best Vercel alternatives for Next.js, and how to switch without breaking anything
Five hosts, each matched to a reason for leaving, plus a seven-step migration plan.
The short answer: Cloudflare Workers if traffic drives your bill, Netlify if you want the same workflow with your whole team on one $20 plan, Railway if your app needs a real server and a database, Coolify if you're fine running your own box, Render for a free prototype. One thing to check before you pack up: in 2026 Vercel Pro started including 1 TB of transfer and stopped billing traffic above it, under fair use. If bandwidth was your only problem, it may already be fixed. We compared all five hosts and pulled their prices from each vendor's own pricing page in 2026.
Some links are affiliate links. The ranking is editorial: a sponsored spot is always labeled on its card, and no affiliate link changes a score.
Why so many teams move off Vercel
Vercel is still the most complete home for Next.js, which makes sense: it builds the framework. Most people who leave say so themselves. They go because of the invoice, the free-plan rules or the lock-in, not because the platform is bad. Six reasons keep showing up on r/nextjs, on Vercel's own community forum and in its docs.
You pay per developer
Pro is a $20 monthly platform fee with one deploying seat included. Every extra Owner or Member costs another $20 a month. A four-person dev team pays $80 a month before a single gigabyte is used. Viewers (read-only, can comment) stay free, so not everyone needs a paid seat.
Too many meters on one bill
Past the $20 usage credit, everything is metered: data transfer, active CPU, function invocations, image transformations, build minutes. One user on the Vercel forum posted a $544.55 bill, $507.17 of it in build CPU minutes on Turbo machines they never meant to switch on.
No hard stop by default
The $200 spend threshold set on new accounts sends notifications. It does not stop anything. Pausing projects at 100% of your budget is an opt-in setting. Leave it off and a traffic spike or a revalidation loop keeps billing.
Hobby is non-commercial only
Vercel's fair use rules say Hobby is for personal, non-commercial use. Any financial gain for anyone involved counts as commercial, including a contractor paid to write the code. Ads, affiliate links and payments do too. Only donations are allowed. A client site on Hobby breaks the terms.
Slow answers on billing disputes
One CTO on r/nextjs described a bill that jumped from under $100 to over $800 in a month, and nearly two weeks to get a reply. Another forum thread reports four days of silence over invocations billed far above what the user expected.
A 2026 security incident
In 2026, an attacker got in through a third-party tool and an employee's Google Workspace account, then decrypted environment variables that were not flagged as sensitive. Vercel told customers to rotate them and has since closed the incident. For some teams, that was the push to stop putting every secret with one vendor.
You're leaving because… go to…
The right Vercel alternative depends on what's pushing you out. Click your reason to jump to the card.
No bandwidth fees, $5 a month to start.
Seats are eating your budgetNetlifyPro is $20 a month for the whole team.
Your app needs a server and a databaseRailwayPro is $20 per workspace, unlimited seats.
You want to own the server and the dataCoolifyFree when self-hosted, on any server you pick.
You need something free for a demoRenderFree static sites, free web service that sleeps.
You run a big static or marketing siteCloudflare WorkersStatic assets are free and unlimited.
Vercel alternatives, host by host
For each host: why move there, who it fits, its limit, how to bring a Next.js project over, and its entry price. Prices are the vendor's own, in USD, before tax. Watch the billing unit: Vercel charges per seat, Netlify and Railway per team, Cloudflare per account, Coolify per server.
The hosts
Netlify: same Git workflow, whole team for $20
TeamsWhy move to Netlify. It's the closest thing to Vercel day to day. Connect the repo, get a preview per branch, merge to ship. The gap is on the invoice: Pro is $20 a month for the whole team, with unlimited members, where Vercel charges $20 per developer. A team of four goes from $80 to $20 a month before usage. We rate it 4.1 out of 5 in our Netlify review.
Who it's for. Agencies running many marketing sites, product teams with lots of contributors, content sites that don't push terabytes.
Who it's not for. A busy, heavy Next.js app. Netlify bills in credits: 20 credits per GB of traffic, 15 per production deploy. Pro's 3,000 credits cover roughly 150 GB of traffic if you spend them on nothing else.
The catch. Run out of credits and every site on the account gets paused, not just the hungry one. The free plan caps at 300 credits a month and you can't buy more. For Next.js, Netlify relies on an adapter. The Next.js docs say Netlify is working toward a verified adapter; the current one isn't verified yet. Plan-by-plan numbers are on our Netlify pricing page.
How to migrate. Connect the same repo, let Netlify detect Next.js, copy your env vars, then port the redirects and headers from vercel.json into _redirects and _headers. Ship to the Netlify preview URL and compare page by page before you touch DNS.
- Free
- 300 credits a month
- Paid
- Personal $9/mo, Pro $20/mo per team
- Our score
- 4.1 out of 5
- Limit
- sites paused when credits run out
Cloudflare Workers: stop paying for bandwidth
TrafficWhy move to Cloudflare Workers. Cloudflare doesn't charge for bandwidth, and static assets are served free with no cap. The paid plan starts at $5 a month per account and includes 10 million requests, then $0.30 per million. CPU time is included up to 30 million ms, then $0.02 per million ms. It's where people go most often after a billing shock.
Who it's for. High-traffic sites, publishers, stores where data transfer was the line item that hurt. The stories rhyme: a CTO whose bill went from under $100 to over $800 in one month moved everything to Workers, and one agency wrote up moving seven client sites in five days, about fourteen hours of work.
Who it's not for. A Next.js app that leans on deep Node.js APIs or native modules. The Workers runtime only exposes part of Node.js.
The catch. Next.js runs on Cloudflare through the OpenNext adapter, which ships fixes often to keep up with new Next.js releases. It is not yet a verified adapter in the Next.js docs. Developers also report wiring up next/image optimization themselves and having to check on-demand ISR route by route. The free tier stops at 100,000 requests a day and 10 ms of CPU per request.
How to migrate. Cloudflare's official Vercel guide starts from your project settings: grab the build command and output directory, create a wrangler.jsonc, connect the repo. For Next.js, follow the framework guide as well. The guide doesn't cover env vars, so move them yourself. A custom domain needs its DNS zone on Cloudflare. Swap Vercel KV for Workers KV and Vercel Blob for R2.
- Free
- 100,000 requests a day
- Paid
- $5/mo per account, 10M requests included
- Best for
- high-traffic sites
- Limit
- partial Node.js, unverified adapter
Railway: a real Node.js server, unlimited seats
Full-stackWhy move to Railway. Railway runs your app as a Node.js server or a Docker container. That's the deployment mode the Next.js docs list as supporting every feature, and Railway is one of the official deploy templates. Pro is $20 per workspace with unlimited seats included. Egress costs $0.05 per GB.
Who it's for. A Next.js app that needs a database, background jobs or a few services next to it, and a team that wants all of that in one place without paying per developer.
Who it's not for. A static or marketing site. Cloudflare or Netlify will serve it for free with no server to keep warm.
The catch. Railway is usage-based too. Each plan includes some usage ($1 on Free, $5 on Hobby) and the rest is billed on the resources you actually consume. You swap one metered bill for another; it's easier to read, but it isn't flat. Also, Next.js stores its ISR cache on disk by default. Run several instances and you need a shared cacheHandler, or each instance serves its own version.
How to migrate. Start from Railway's Next.js template, or set output: "standalone" and deploy the Docker image. Recreate your variables, attach the database, and check the temporary URL before switching DNS.
- Free
- $0 with $1 of usage
- Paid
- Hobby $5, Pro $20 per workspace
- Best for
- apps with a database
- Limit
- still usage-based
Coolify: your own Vercel on your own server
Self-hostedWhy move to Coolify. Coolify is open-source software that recreates the Vercel experience on a server you rent: deploys straight from Git, on your own machine. Self-hosted, it's free. Coolify Cloud, where they run the control panel for you, starts at $5 a month for 2 servers, then $3 per extra server, with 20% off yearly. It tops the Vercel alternatives list on AlternativeTo, and on Reddit developers describe running several projects on it for a few dollars a month, server included.
Who it's for. A developer or small team comfortable with a Linux box, hosting several projects and wanting a fixed bill. It's also the simplest way to keep data in a region you choose, such as the EU.
Who it's not for. A team with no ops skills. With Coolify you are the host: updates, backups, security and uptime are on you.
The catch. The server is billed separately by whichever provider you pick. And you lose Vercel's global edge network: the site is served from one place unless you put a CDN in front.
How to migrate. Set output: "standalone", copy public and .next/static into the Docker image as Docker's official Next.js guide shows, then connect the repo to Coolify. Keep Vercel live until the server has handled a week of real traffic.
- Free
- self-hosted, open source
- Paid
- Cloud from $5/mo for 2 servers
- Best for
- fixed bill, data residency
- Limit
- you run and patch the server
Render: free hosting for a prototype or demo
PrototypeWhy move to Render. Render hosts static sites for free and offers a free web service that can run Next.js as a Node server. It's one of the official deploy templates listed by Next.js. For a side project or a demo, it's an easy way out when Hobby no longer fits, or when your project counts as commercial.
Who it's for. Students, developers showing a prototype, static sites without heavy traffic.
Who it's not for. A commercial site on the free tier. The free web service spins down after 15 minutes without traffic, and waking up takes about a minute. Customers don't wait a minute.
The catch. The free web service is capped at 750 hours a month. Past the demo stage you need a paid plan, and we couldn't read Render's paid grid for this page, so check it on their site before you compare.
How to migrate. Pick a static site if you export statically, otherwise a Node.js web service. Set the build and start commands, copy your env vars, then point your domain.
- Free
- static sites, web service 750 h/mo
- Spin-down
- after 15 min, ~1 min to wake
- Best for
- prototypes, demos
- Limit
- not for a free commercial site
Vercel and 5 alternatives compared
Our default picks: Cloudflare Workers if traffic is the cost, Netlify if seats are, Railway for an app with a database, Coolify if you can run a server. The math that matters for a four-developer team: $80 a month in Vercel seats before usage, $20 on Netlify or Railway, $5 for a whole Cloudflare account.
| Free tier | First paid plan and billing unit | |
|---|---|---|
| VercelWhere you start | Hobby, non-commercial only | Pro $20/mo per seat, $20 usage credit |
| NetlifyTeams | 300 credits a month | Pro $20/mo for the whole team |
| Cloudflare WorkersTraffic | 100,000 requests a day | $5/mo per account, no bandwidth fees |
| RailwayFull-stack | $0 with $1 of usage | Pro $20/mo per workspace, unlimited seats |
| CoolifySelf-hosted | Free when self-hosted | Cloud $5/mo for 2 servers, plus your server |
| RenderPrototype | Free static, web service sleeps | Check the vendor's grid |
Entry prices before tax, in USD, as shown by each vendor in 2026 and subject to change. Always compare with the same number of developers, gigabytes and projects.
Move off Vercel in seven steps
Order matters: the first two steps protect your secrets, the rest protect your SEO and your users. Plan on at least a week of running both hosts.
The steps
List everything running on Vercel
Day 1For each project, write down the build command, output directory, Node.js version, domains, cron jobs, functions and their regions. Then list what's Vercel-specific: redirects and headers in vercel.json, Vercel KV, Vercel Blob, image optimization, analytics.
Anything you skip here, your users will find for you in production.
- Write down
- build, output, domains
- If rushed
- lost redirect, 404s
Export and rotate your environment variables
Day 1vercel env pull writes variables to a .env file: development by default, production with --environment=production. Variables flagged as sensitive can't be read back, so copy them from their source (Stripe, your database, your email provider).
Use the move to issue fresh keys. After the 2026 incident, Vercel itself told customers to rotate every variable not marked sensitive.
- Command
- vercel env pull
- Gotcha
- sensitive vars can't be read
Decide how Next.js will run
Day 2The Next.js docs list four options. A Node.js server or a Docker container supports every feature. Static export is limited: no server rendering, no API routes. Adapters depend on the host, and only Vercel and Bun currently have verified adapters.
Since Next.js 16.2 the Deployment Adapter API is stable, with a suite of 9,000+ end-to-end tests open to hosting providers. Ask your new host whether it passes.
- Every feature
- Node.js or Docker
- Verified adapters
- Vercel and Bun
Rewire what was Vercel-only
Days 2-4Port vercel.json to your new host's format (_redirects and _headers on Netlify and Cloudflare). Check the three things that break most: next/image optimization, on-demand ISR and middleware. On Cloudflare, move Vercel KV to Workers KV and Vercel Blob to R2.
On Docker, the ISR cache lives on disk. With more than one instance, set a shared cacheHandler.
- Check
- next/image, ISR, middleware
- Storage
- replace KV and Blob
Deploy side by side and compare
Days 4-7Ship to the new host's temporary URL and compare against Vercel: key pages, forms, checkout, login, images, response times. Run a crawler on both versions to catch missing redirects and error pages.
As long as DNS points at Vercel, no visitor sees the new build.
- Suggested
- one week
- Compare
- redirects, forms, checkout
Cut over DNS with zero downtime
Go-liveKeep the old DNS live while you prepare. Recreate every record at the new provider, email records included (MX, SPF, DKIM), and check them with dig before changing anything. Propagation can take up to 48 hours.
If your nameservers were on Vercel, Restore Original Nameservers puts the old ones back. On Cloudflare, your zone has to live there before you can attach a custom domain.
- Propagation
- up to 48 hours
- Verify
- dig before cutover
Shut Vercel down cleanly
Day 7+Wait for the end of your billing cycle: unused usage credit expires at month end, so spend it while you run both hosts. Before downgrading from Pro to Hobby, move your domains and stores, because a downgrade removes every member except the owner.
Then delete the projects and revoke Vercel's tokens and GitHub app access.
- Usage credit
- expires at month end
- Before downgrade
- move domains and stores
Is your tool missing from this page? Email us: hello@hackceleration.com
What makes a Vercel migration go wrong
The same mistakes show up again and again in write-ups from people who left. These are the ones that cost the most, in money or in visitors.
Leaving over a bill that's already fixed
In 2026 Vercel Pro started including 1 million CDN requests and 1 TB of transfer, with traffic above that served and not billed under fair use. Reread your last invoice. If bandwidth was the big line, redo the math before you move.
Ignoring build minutes
New teams get Elastic build machines by default, and several bills in the hundreds of dollars came from Turbo machines switched on by accident. Check this setting before you blame traffic.
Assuming all of Next.js runs everywhere
Only Node.js and Docker support every feature. On an unverified adapter, check on-demand ISR, middleware and next/image before cutover.
Losing sensitive variables
You can't read them back from Vercel. Delete the project before copying them from their source, and your app won't boot on the new host.
Flipping nameservers in one click
Switching nameservers before recreating records takes the site down, sometimes email too, during propagation. Recreate, verify with dig, then switch.
Comparing prices in different units
$20 per seat, $20 per team, $5 per account, $5 for two servers plus the server itself: redo the math with your real number of developers, projects and gigabytes.
- Build command, output directory and Node.js version written down
- Variables exported with vercel env pull, sensitive ones copied from source
- Fresh keys issued for any exposed secret
- Deploy mode chosen: Node.js, Docker or adapter
- vercel.json ported, next/image, ISR and middleware checked
- A week of running both hosts, crawler run on each
- DNS records recreated and checked with dig, email included
- Domains and stores moved before any downgrade or deletion
Vercel alternatives: frequently asked questions
Can I use Vercel's free plan for a business site?
No. Hobby is limited to personal, non-commercial use. A site that sells, runs ads, earns affiliate commissions or was built by a paid contractor counts as commercial. Donations are the only exception. A client site needs Pro or another host.
What's the best free alternative to Vercel?
Cloudflare Workers for most sites: 100,000 free requests a day and static assets served without a cap. Netlify gives 300 credits a month, roughly 15 GB of traffic or 20 production deploys. Render works for a demo if you can live with its free web service sleeping.
Can you host Next.js outside Vercel?
Yes. A Node.js server or a Docker container supports every Next.js feature on any host. Adapters vary: in 2026 only Vercel's and Bun's are verified by the Next.js team, while Cloudflare and Netlify are working on theirs.
Netlify or Cloudflare: which is better for leaving Vercel?
Netlify if you want the Vercel-style workflow and one $20 plan for the whole team. Cloudflare if your site moves a lot of traffic, since bandwidth isn't billed. For a complex Next.js app, Cloudflare needs more checking because Workers only exposes part of Node.js. Our Netlify alternatives page goes further.
How do I avoid a surprise Vercel bill?
Turn on project pausing at 100% of your budget. It's off by default; the $200 threshold only sends alerts. Then check your build machine type, switch off Observability Plus if you don't use it, and watch ISR writes. One r/nextjs user cut a bill of about $70 down to $22 with those changes alone.
Does Vercel still charge for bandwidth?
Much less than it did. Since 2026, Pro includes 1 million CDN requests and 1 TB of transfer, and traffic above that is still served without charge under fair use. Higher tiers at $20, $100 and $300 go further. Many viral bandwidth horror stories predate the change.
Is there a Vercel alternative that keeps data in the EU?
The most direct route is Coolify on a server you rent in an EU region: you choose where the data lives. Cloudflare and Netlify run global networks, so check their data processing terms if residency matters to your legal team.
Were my env vars exposed in the 2026 Vercel incident?
Vercel said variables not marked sensitive could have been decrypted, and asked customers to rotate them. If you haven't, regenerate your API, database and payment keys and flag them as sensitive, whether you stay or leave.