Introduction
For most business websites, Next.js hosting comes down to three good options. Vercel is the simplest because it maintains Next.js and supports it with zero configuration. Netlify runs Next.js through the open-source OpenNext adapter with very wide feature support, and Cloudflare Workers suits teams who want their site close to Cloudflare's storage and database services, now through a newer toolchain called vinext that is still in beta.
This comparison sticks to what each platform's own documentation says about running Next.js: how pages are rendered, cached and revalidated, how images are handled, and the known limits. We don't quote plan prices because they change often; each section links to the official pricing page so you can check the current figures yourself.
What does a Next.js host actually need to do?
A plain static site only needs files served from a CDN. A modern Next.js site asks for more. Depending on how it is built, the host may need to run server-side rendering (SSR) on each request, regenerate static pages in the background with Incremental Static Regeneration (ISR), run middleware before the cache, handle Server Actions from forms, and resize images on demand for the next/image component.
If your site is a fully static export, almost any host will do. The differences between Vercel, Netlify and Cloudflare only matter once you use these server features, which most content sites, shops and dashboards do. If you're still deciding whether Next.js is the right framework at all, start with our guide to Next.js vs WordPress for a business website.
Next.js on Vercel: the reference platform
Vercel describes Next.js as a framework "maintained by Vercel" and says deploying there is zero-configuration, while noting that Next.js also works when self-hosted (Vercel's Next.js docs). In practice that means new Next.js features tend to be designed with Vercel's infrastructure in mind.
What you get
- Preview URLs: connected to your Git provider, Vercel generates a preview URL for each pull request, so you can review changes before they go live.
- ISR: generated pages are cached on its global CDN and persisted to durable storage. Vercel contrasts this with self-hosting, where it says ISR is limited to a single region by default and generated pages sit in the Next.js cache, which expires.
- SSR: server rendering runs on Vercel Functions, which scale to zero when not in use and scale up automatically with traffic.
- Images and middleware: images are optimised on demand when you use
next/image, and middleware is deployed globally. - Draft Mode: previews of unpublished CMS content are protected behind your Vercel team login, which is useful if you pair Next.js with a headless CMS.
- Built-in measurement: Web Analytics and Speed Insights, which tracks Core Web Vitals in the project dashboard.
Things to weigh
Some features are tied to plans; for example, Vercel's docs note that its Passport sign-in feature requires an Enterprise plan. Usage-based billing on any serverless host is worth modelling against your expected traffic before launch. Check the current plans on Vercel's pricing page.
Next.js on Netlify: OpenNext with wide feature support
Netlify says it supports all major Next.js features with zero configuration through its open-source OpenNext adapter, and that the adapter is tested with every Next.js release (Netlify's Next.js docs). It covers Next.js 13.5 onwards; older versions use a legacy runtime.
How it runs your app
When you deploy, the adapter provisions a serverless Netlify Function for SSR, ISR, Partial Prerendering, route handlers and Server Actions. Middleware runs on a Netlify Edge Function. The adapter also sets up caching for the Next.js Full Route Cache and Data Cache, so static responses are cached at the edge and can be revalidated by path or by tag. Images served through next/image use the Netlify Image CDN by default.
Netlify's support table lists App Router, SSR, ISR, React Server Components, Server Actions, streaming, Draft Mode, internationalisation, Turbopack and Cache Components as fully supported.
Skew protection
One useful extra is skew protection. When a new deployment goes live while someone is mid-visit, their browser can request JavaScript files or server code that no longer exist. Netlify's fix routes those requests to the matching deployment. It's opt-in: you set the environment variable NETLIFY_NEXT_SKEW_PROTECTION to true and redeploy.
Known limits
- SSR pages set to the edge runtime run in your functions region on Node.js rather than at edge locations. Netlify says no functionality is missing.
- Rewrites in the Next.js config can't point to static files in the
publicfolder. - Headers and redirects are evaluated after middleware, which differs from stand-alone Next.js.
- Node.js middleware can't use C++ addons or the filesystem.
- Netlify Forms needs extra code to work with Next.js.
Current plans are on Netlify's pricing page.
Next.js on Cloudflare Workers: vinext or OpenNext
Cloudflare's story has changed recently. Its guide now recommends vinext as the default way to run Next.js on Cloudflare Workers (Cloudflare's Next.js guide). vinext is a Vite plugin that reimplements the Next.js API surface, so you keep your app/, pages/, next.config.js and public/ folders while building with Vite instead of the standard Next.js toolchain.
What's supported
Cloudflare lists App Router, Pages Router, React Server Components, Server Actions, SSR with streaming, static generation, ISR and middleware as supported. ISR uses a stale-while-revalidate model, serving cached content while refreshing it in the background. Image optimisation is only partially supported, and most next/* imports are "mostly supported", with details on vinext's compatibility dashboard.
The main draw is Cloudflare bindings. Server components, route handlers and Server Actions can reach D1, R2, KV, Durable Objects, Workers AI, Queues and other Cloudflare services directly, which suits apps that already live in that ecosystem.
Things to weigh
Cloudflare says vinext is in beta and advises running npx vinext check and reviewing the compatibility dashboard before moving an existing production app. Adding vinext to an existing project with vinext init is aimed at Next.js 16 apps and is non-destructive, so next dev keeps working while you test. If an app can't move yet because of a compatibility gap, Cloudflare still documents the OpenNext adapter, and static exports can go on Cloudflare Pages. Check current plans on Cloudflare's Workers pricing page.
Free quote · reply within 24 hours
Have a project in mind?
Tell us what you need. You get one fixed price in writing within 24 hours, with no charge for scoping.
Vercel vs Netlify vs Cloudflare at a glance
| Area | Vercel | Netlify | Cloudflare Workers |
|---|---|---|---|
| How Next.js runs | Native, zero-configuration | OpenNext adapter, zero-configuration | vinext (beta, Vite-based) or OpenNext adapter |
| Server rendering | Vercel Functions | Netlify Functions | Workers |
| ISR | Cached on CDN, persisted to durable storage | Supported, revalidate by path or tag | Supported, stale-while-revalidate model |
| Middleware | Deployed globally | Edge Functions, with some limits | Supported |
| Image optimisation | On demand with next/image | Netlify Image CDN | Partially supported |
| Stand-out extra | Preview URLs, Speed Insights, secured Draft Mode | Opt-in skew protection | Direct bindings to D1, R2, KV and more |
| Main caution | Some features are plan-specific | Edge runtime and middleware-order differences | vinext is in beta; check compatibility first |
Which Next.js host should you choose?
Choose Vercel if you want the least setup and the most direct support for new Next.js features, especially if you rely on ISR, Draft Mode with a CMS or preview links for every change.
Choose Netlify if your team already uses it for other sites, or if you like that the adapter is open source and tested against each Next.js release. Read the limits list first if you use edge-runtime pages or complex rewrites.
Choose Cloudflare Workers if your app needs Cloudflare's databases, storage or queues close to the code, and you're comfortable testing a beta toolchain. Run the compatibility check before committing.
Whichever you pick, measure the result after launch. Our round-up of website speed test tools shows how to check real-world performance, and if your content lives in a CMS, see our comparison of headless CMS options for Next.js.
Frequently asked questions
Do I have to host Next.js on Vercel?
No. Vercel's own docs say Next.js works when self-hosting, and both Netlify and Cloudflare document their own ways to run it. Vercel's advantage is zero configuration and features designed alongside the framework.
Is Netlify's Next.js support as complete as Vercel's?
Netlify says it supports all major Next.js features, and its support table marks most of them as fully supported. It also lists specific limits, such as headers and redirects running after middleware, so check that list against how your app works.
Can I run a Next.js app on Cloudflare Pages?
Cloudflare's guide points static exports to Cloudflare Pages. For apps with server rendering, it recommends Workers with vinext, or the OpenNext adapter for existing apps that can't migrate yet.
Which host is cheapest for Next.js?
It depends on your traffic, how much server rendering you use and which features you need, and all three change their plans over time. Compare your expected usage against the official pricing pages for Vercel, Netlify and Cloudflare rather than relying on figures in articles.
Conclusion
For most business sites, Vercel is the easiest Next.js host, Netlify is a strong choice if you value its open-source adapter and existing workflow, and Cloudflare Workers makes sense when you want its data services next to your code and can test a beta toolchain. Pick the one whose documented limits don't clash with how your site is built. If you'd like help choosing or setting it up, our Next.js development team can take a look. Message us on WhatsApp at +91 73482 28167 and you get a fixed written quote within one working day.
Free quote · reply within 24 hours
Want a fixed price for your project?
Tell us what you need. You get one fixed price in writing within 24 hours, with no charge for scoping.

