
Vercel is the strongest default for deploying a Next.js app because it’s built by the same team as the framework, but it isn’t the only viable option, and it stops being the obvious choice once cost predictability, infrastructure control, or non-Vercel-specific features start to matter more than convenience. The right answer depends on which of those three things your project actually needs.
Why Vercel Is Still the Default
Vercel supports Next.js features first, sometimes exclusively, because the two are built by the same company. Partial Prerendering, on-demand ISR revalidation, Edge Middleware, and Vercel’s own Image Optimization pipeline all work with zero configuration on Vercel and can lag behind, or require extra setup, on other platforms. For a team that wants to write code and not think about infrastructure, that gap is real and immediate.
The trade-off shows up in pricing and terms rather than technical capability. Vercel’s Hobby tier explicitly prohibits commercial use — a paying-customer product needs the Pro plan, currently around $20 per user per month, with Enterprise pricing starting around $3,500+ per month for larger teams. Usage-based billing on top of that (function invocations, bandwidth, Active CPU time) can produce a bill that’s hard to predict in advance.
When Netlify Is the Better Fit
Netlify’s @netlify/next runtime adapter handles standard SSR, ISR, and most Next.js features without issue, and its pricing sits close to Vercel’s (roughly $19 per user per month on Pro). Where it tends to lag is on cutting-edge features like Partial Prerendering or certain Edge Middleware behaviors, since Netlify has to reverse-engineer support for Next.js internals rather than build them natively.
Netlify pulls ahead when a project isn’t purely Next.js: it offers a genuinely framework-agnostic experience across Astro, SvelteKit, Nuxt, Remix, and 30+ other frameworks, plus built-in forms, identity management, and split testing that Vercel doesn’t provide natively. Its free tier also explicitly allows commercial use, unlike Vercel’s Hobby tier.
When to Look at Cloudflare, AWS, or Self-Hosting
- Cloudflare Pages offers the broadest, closest-to-users edge network available, and pairs well with a Next.js app that leans heavily on edge execution via Workers. It becomes the economically rational choice once an app is bandwidth-dominant at real scale, where Vercel’s usage-based costs start to add up.
- AWS Amplify fits teams already committed to AWS infrastructure and wanting a managed layer on top of it, though it typically requires more manual configuration than Vercel or Netlify for equivalent Next.js features.
- Self-hosting via Docker — on Railway, Render, Fly.io, or a plain VPS — gives maximum infrastructure control and cost predictability, and works because the core Next.js application remains portable outside of Vercel-specific optimizations. This is the path for teams with data residency requirements, existing container orchestration, or a strong preference against platform lock-in.
Understanding the Lock-In, Because It’s Different on Each Platform
Vercel’s lock-in is deep but narrow: it’s concentrated in a handful of Vercel-specific features (Edge Middleware, on-demand ISR, Image Optimization’s URL format), and migrating away means replacing those specific pieces rather than the application itself. Netlify’s lock-in is shallow but wide: features like Netlify Forms, Identity, and Split Testing each require a separate replacement if you migrate, but none of them are deeply embedded in your application code. Either way, the mitigation is the same — keep platform-specific code isolated behind clear abstractions rather than scattered through the app.
A Practical Starting Point
- Start on Vercel for speed if you’re building a standard Next.js product and want to ship without infrastructure decisions slowing you down.
- Move to Netlify if your team ships more than one framework, or you need built-in forms and identity without extra services.
- Evaluate Railway, Render, or self-hosting once usage-based costs on a managed platform become large and predictable enough that a fixed-cost server starts to win the math.
- Choose Cloudflare or AWS specifically when bandwidth scale or existing cloud commitments make them the economically rational choice, not by default.
Whichever platform hosts the app, deployment decisions connect directly to build performance — see our breakdown of why Turbopack made Next.js builds so much faster — and to how the app handles state, since a serverless-friendly database connection setup matters regardless of which host runs your functions.
The Bottom Line
Vercel wins on convenience and Next.js feature parity, which is why it’s still the right starting point for most projects. But “built by the framework’s creators” isn’t the same as “cheapest” or “most flexible” — Netlify, Cloudflare, AWS, and self-hosting all beat Vercel on specific, identifiable dimensions once a project’s needs get concrete enough to name them.