Migrating production infrastructure? Get up to $10K in migration credits.

Apply now

Best Netlify Alternatives in 2026

Netlify moved all new accounts to credit-based pricing plans on September 4, 2025. On the credit-based Free plan, you get 300 credits a month with a hard limit and no auto recharge option. When those credits run out, your projects pause until the next billing cycle. Many teams compare alternatives after that pricing change or after outgrowing a plan's functions, build or team limits.

The short answer by site type:

  • Pure static: Cloudflare Pages, where requests to static assets are free and unlimited on free and paid plans. Render static sites, available on every plan, keep your backend on the same platform when you add one.
  • Static plus functions: Cloudflare Pages, which bills Pages Functions as Workers, and Vercel, which runs Vercel Functions on Fluid compute.
  • Full-stack:
    • Render, which runs your web services, background workers, cron jobs and managed Postgres, each at a set monthly price per instance type, prorated to the second.
    • Railway, which deploys services to long-running servers.
    • Fly.io, whose Machines are the compute behind its apps.

Prices, plan names and limits below come from each platform's official pricing pages and documentation. They change often, so treat them as a snapshot. You'll find links to the pricing pages under the comparison table.

Leaving isn't always the right call: see what Netlify still does best.

Documentation and prices checked: Render between 2026-10-12 and 2026-10-20, Netlify between 2026-09-14 and 2026-10-20, Cloudflare on 2026-10-19, Vercel between 2026-10-02 and 2026-10-20, Railway between 2026-10-01 and 2026-10-20, Fly.io between 2026-09-26 and 2026-10-19, docs.github.com between 2026-10-19 and 2026-10-20.

Start with your site type

Pick your segment:

  • Pure static: A CDN serves your built HTML, CSS, JavaScript and assets. Nothing runs on a server at request time.
  • Static plus functions: You have a static frontend, plus short-lived serverless or edge functions that handle form posts, small APIs, auth callbacks or redirects with logic.
  • Full-stack: Your app needs long-running servers, background workers, scheduled jobs and a database that you query constantly.

For pure static or static plus functions sites, check which Netlify-provided extras you use, such as built-in form handling and deploy previews. Netlify's Free plan also bundles Netlify Database and Blob storage. These extras don't move with you, so list the ones your site uses before you compare hosts.

Then read your segment in alternatives by site type, the free tier reality check and migration effort.

Comparison table

Capabilities

Platform
Best-fit site type
Static hosting / CDN
Functions model
Persistent services and workers
Managed database / key-value
Built-in forms / auth
Deploy previews
Netlify (baseline)
Pure static, static plus functions
Global CDN
Serverless functions, Background Functions up to 15 minutes, scheduled functions, edge functions
Not covered
Netlify Database, Blob storage
Forms, free and unlimited on all credit-based plans, with 100 submissions per site per month on legacy Free and Starter. Netlify Identity included on all credit-based plans. Password protection on every Pro tier
Unlimited deploy previews on Free
Render
Pure static, full-stack
Static sites with zero-config CDN
Render Workflows for background tasks: TypeScript or Python functions, up to 24 hours per run, with automatic retries. Not HTTP request handlers
Web services, background workers, cron jobs
Postgres, Key Value (Redis-compatible)
Not covered
Single-service previews on all plans, plus full-stack preview environments on Pro, Scale and Enterprise
Vercel
Static plus functions
Zero-config CDN cache
Vercel Functions on Fluid compute
Background workers with Vercel Daemons
Databases through Vercel Marketplace integrations such as Neon and Upstash, with Blob and Global Config still first-party
Password protection add-on for deployments
Preview deployment for every Git push
Cloudflare Pages
Pure static, static plus functions
Static asset requests free and unlimited
Pages Functions, billed as Workers
Cron Triggers, Durable Objects
D1, Workers KV, R2
Not covered
A unique preview URL for each pull request opened from the repository
GitHub Pages
Pure static
Static site hosting from a repository, on github.io or a custom domain
None, static files only
None, static files only
None, static files only
Not covered
Not covered
Railway
Full-stack
Not covered
Railway Functions: services that run a single TypeScript file on the Bun runtime. Most apps run as services on long-running servers
Services on long-running servers, plus cron jobs
Databases as services in a project, persisted with volumes
Not covered
Isolated preview environments for every pull request
Fly.io
Full-stack
Not covered
Machines, the compute behind every Fly.io app, rather than a serverless functions product
Machines. Fly.io's pricing examples include a background worker running 24/7
Managed Postgres and Fly Volumes
Not covered
Not covered

Plans and migration effort

Platform
Free tier (summary)
Entry paid plan
Migration effort from Netlify
Netlify (baseline)
Free: $0, 300 credits a month, hard limit
Personal: $9/month with 1,000 credits. Pro from $20/month with 3,000 credits
Baseline
Render
Hobby: $0/month plus compute, with free web services, Postgres and Key Value under usage limits
Pro: $25/month plus compute. Paid web service instances from $7/month
Low (static), Medium (full-stack)
Vercel
Hobby: $0/month, personal and non-commercial use
Pro: $20/month with $20 included credit
Medium
Cloudflare Pages
Workers Free: 100,000 requests per day, with static asset requests free
Workers Paid: $5/month minimum per account
Low (static), Medium (functions)
GitHub Pages
Pages in public repositories with GitHub Free
GitHub Pro, Team or Enterprise for Pages in private repositories
Low for plain static output (editorial rating)
Railway
Free Trial: $5 one-time credit for 30 days, then Free plan with $1 of usage credit per month
Hobby: $5/month including $5 of usage
Medium
Fly.io
No free tier, free trial only
Pay as you go, no monthly platform fee. A started shared-cpu-1x Machine with 256MB RAM, the smallest Machine size, costs $2.19 per 30 days of continuous runtime and bills by the second while running
High

Prices are in USD. Where prices vary by region, the free tier section states which region applies. These official pricing pages hold the current terms: Netlify, Render, Vercel, Cloudflare Workers and Pages, GitHub Pages, Railway and Fly.io. A "Not covered" cell means this comparison doesn't cover that item, not that the feature is absent. Migration effort ratings are editorial judgments, explained in the migration section.

Functions vs persistent services

The biggest architectural difference is how each platform runs your code.

Functions are request-scoped and short-lived. A request arrives, your code runs, and the platform shuts the instance down or pauses it. You don't manage a server, and billing follows usage. Vercel pauses a function instance after all requests complete, and no CPU or memory charges apply until the next invocation. Cloudflare bills Pages Functions as Workers. On the paid Standard model, Cloudflare includes 10 million requests a month and charges $0.30 per additional million.

Persistent services are long-running processes. They can hold connections open, run queue workers, execute scheduled jobs and talk to a managed database over a private network. Railway runs long-running servers that support persistent connections such as sockets and live updates. Render web services accept WebSocket connections from the public internet. Render bills compute per service, prorated to the second, and bills cron jobs only while they run.

What this means for each site type

  • Pure static: You need neither model. Compare CDN delivery, build minutes, bandwidth allowances and preview workflows instead.
  • Static plus functions: Each function platform defines its own handler signature, runtime and limits, so plan to rework each function you move. For example, a Cloudflare Worker responds through a fetch() handler that returns a Response object.
    • Netlify edge functions get 50 ms of CPU time per request.
    • Cloudflare's Workers Free plan allows 10 ms of CPU time per invocation. The paid Standard model allows up to 5 minutes, with a default of 30 seconds.
    • Vercel Functions run for up to 300 seconds on Hobby. On Pro you can configure them up to 800 seconds.
    • Netlify scheduled functions have a 30-second execution limit. If your jobs outgrow it, you're drifting toward full-stack.
  • Full-stack: On a functions-only host, you assemble a database host, worker runtime and scheduler elsewhere. These platforms keep them together:
    • Render offers web services, background workers, cron jobs and Postgres.
    • Railway deploys frontends, APIs and databases as services in one project and schedules tasks with cron jobs.
    • Fly.io lists Managed Postgres from $38/month (Basic) to $1,922/month (Performance), and Fly Volumes provide local persistent storage.

Cost shape

As a general pattern, not a rule:

  • Usage-based functions tend to suit intermittent traffic, because you pay nothing between requests.
  • Instance-based services tend to suit steady traffic, where a flat price is predictable.

Render is the instance-priced option here: each service runs on an instance type with a set monthly price, from $7 a month for a 512 MB web service, prorated to the second. Railway instead charges per second for the CPU, memory and disk your services use.

Some instance platforms reduce idle cost too. Fly.io notes that Machines which auto-stop when idle can lower compute costs.

Alternatives by site type

Each platform gets one full profile in its best-fit segment. Effort ratings are editorial, explained in the migration table.

Pure static

GitHub Pages

  • Best for: A pure static site whose code already lives on GitHub.
  • What you plan for: A replacement outside Netlify for each Netlify extra you use, such as forms or functions.
  • Commercial use: GitHub doesn't allow Pages as free hosting for an online business, e-commerce site or commercial SaaS.
  • Effort: Low for plain static output (editorial rating).

Cloudflare Pages

  • Best for: Static sites with heavy traffic. Requests to static assets are free and unlimited on both free and paid plans.
  • What you get: Static delivery for any static HTML site, plus an upgrade path to Pages Functions that bill as Workers.
  • What you assemble yourself: Form handling and visitor auth. Cloudflare provides building blocks such as Workers KV and D1, but you write the logic.
  • Effort: Low for static output, Medium with functions (full profile in the next segment).

Render static sites

  • Best for: Static sites that may later need a backend on the same platform.
  • What you get:
    • Render static sites on every workspace plan.
    • A CDN, automatic continuous deploys from Git, instant cache invalidation, and custom domains with managed TLS.
    • Single-service previews on all plans, plus full-stack preview environments on Pro, Scale and Enterprise.
  • What you assemble yourself: Form handling and visitor login. Build them as an endpoint in a Render web service, available on all plans.
  • Free tier and effort: Hobby includes 5 GB of bandwidth and 500 build pipeline minutes a month. Effort is Low. The full profile is under full-stack.

Static plus functions

This segment is closest to typical Netlify Jamstack usage. The key question is what replaces built-in forms and any login flow.

Cloudflare Pages with Functions

  • Best for: Jamstack sites whose functions are short, request-scoped and latency-sensitive.
  • What you get:
    • Pages Functions that share the Workers Free quota of 100,000 requests per day with your Workers.
    • Data stores you can call from a function. On the free plan, D1 includes 5 GB of total storage and Workers KV includes 1 GB of stored data. R2's free tier includes 10 GB-month of storage per month, after which Standard storage costs $0.015 per GB-month and Infrequent Access storage costs $0.01 per GB-month.
    • Cron Triggers for scheduled work.
  • What you assemble yourself: A forms function that writes to D1 or KV or forwards to a third-party service, plus an auth layer for visitor login.
  • Free tier and effort: Watch the 10 ms CPU limit per invocation on the free plan. Plan to rewrite each function for Cloudflare's runtime. If you deploy standalone Workers instead, they respond through a fetch() handler. Effort is Medium.

Vercel

  • Best for: Framework-driven frontends, especially when server rendering matters.
  • What you get:
    • Vercel Functions on Fluid compute.
    • A preview deployment for every Git push.
    • Built-in redirects and rewrites.
  • What you assemble yourself: Form handling and app-level login. On Pro, password protection for deployments is a $20 per project per month add-on.
  • Free tier and effort: Hobby is for personal, non-commercial use, so a business site starts on Pro at $20 a month. Effort is Medium.

Full-stack

Render

  • Best for: Apps that need web services, workers, cron jobs and managed Postgres on one platform, at a set monthly price per instance type.
  • What you get:
    • Web services, background workers and cron jobs on every plan.
    • Managed Postgres and Key Value.
    • Unlike a functions-only host, Render offers a private network, so services in the same region talk without traversing the public internet. A Blueprint (render.yaml) defines your services, databases and environment groups in one file.
    • Persistent disks at $0.25 per GB per month.
    • Preview environments on Pro and higher: for each pull request, Render creates a fresh copy of your production environment, including services, datastores and environment groups. Copied datastores start without production data.
    • Paid web service instances that start at $7 a month for 512 MB of RAM. Paid Postgres starts at $6 a month for 256 MB of RAM.
    • Key Value that starts free at 25 MB of RAM, with paid plans from $10 a month for 256 MB.
  • What you assemble yourself: Form handling and visitor login, built as an endpoint in your web service or through a third-party auth provider.
  • Free tier and effort: Free web services, Postgres and Key Value instances have usage limits. The free web service plan has 512 MB of RAM, and free Postgres has 256 MB. Free web services spin down after 15 minutes without inbound traffic, and waking one takes about a minute. Free Render Postgres databases expire 30 days after creation, with a 14-day grace period to upgrade before deletion. Effort is Medium for full-stack apps.

Railway

  • Best for: Multi-service projects where you want usage-based billing for each service.
  • What you get:
    • Frontends, APIs and databases as services in one project, deployed to long-running servers.
    • Persistent volumes, cron jobs and isolated preview environments for every pull request.
    • Free builds.
    • Usage pricing at $20 per vCPU per month and $10 per GB of RAM per month.
  • What you assemble yourself: Form handling and visitor login.
  • Free tier and effort: The trial reverts to a Free plan with $1 of credit per month. Effort is Medium.

Fly.io

  • Best for: Teams comfortable sizing their own Machines, often across regions.
  • What you get:
    • Machines as the compute behind every app.
    • Fly Volumes for local persistent storage, and a private network that bills data between regions while keeping same-region transfer free.
    • Managed Postgres from $38 a month on the Basic plan. Fly.io prices a small web app with Managed Postgres at about $44 a month.
  • What you assemble yourself: Form handling and visitor login.
  • Free tier and effort: New organizations get a trial, not a free tier. Effort is High.

Render and Fly.io take different approaches to full-stack hosting. Render offers named service types: web services, workers, cron jobs and managed databases. On Fly.io, you size the runtime yourself: Fly.io bills Machines by the second while they run, and its listed prices are for Ashburn (iad) and Secaucus (ewr), its lowest-priced regions, with other regions priced as the Ashburn price times a regional multiplier.

Free tier reality check

The Fly.io compute prices here are for Ashburn, Virginia (iad). The other prices are in USD as each platform publishes them.

Platform
What is free
Limits most likely to bite
What happens at the limit
Commercial-use restrictions
Netlify
300 credits a month on Free
Bandwidth at 20 credits per GB and production deploys at 15 credits each
Projects pause until the next billing cycle
Not covered
Render
Static sites, plus free web services, Postgres and Key Value with usage limits
5 GB bandwidth and 500 build minutes a month on Hobby, and 25 services maximum. Free web services spin down after 15 minutes idle. Free Postgres expires after 30 days
Render bills extra bandwidth at $0.15 per GB and extra build minutes at $5 per 1,000. Without a payment method on file, Render suspends Free services for the rest of the month once included bandwidth is used up
Render designs free compute plans for exploring new tech and personal projects
Vercel
Hobby: 1M function invocations, 100 GB Fast Data Transfer, 4 hours of Active CPU a month
100 deployments per day
Hobby accounts stay within their usage caps and can't buy more usage
Personal, non-commercial use only
Cloudflare Pages
Static asset requests free and unlimited, plus 100,000 Functions and Workers requests per day
10 ms CPU per invocation and 1,000 KV writes per day
Over the daily request limit, Cloudflare returns Error 1027 for Workers Free plan accounts. Further KV operations of that type fail until the 00:00 UTC reset
Not covered
GitHub Pages
Pages in public repositories with GitHub Free
Published sites up to 1 GB, a soft bandwidth limit of 100 GB per month, and a soft limit of 10 builds per hour that doesn't apply to custom GitHub Actions workflows. Deployments time out after 10 minutes
GitHub may not be able to serve your site, or GitHub Support may email you
Not allowed as free hosting for an online business, e-commerce site or commercial SaaS
Railway
Free Trial: $5 one-time for up to 30 days, then the Free plan with $1 a month
1 vCPU and 0.5 GB per service
The trial reverts to the Free plan after 30 days or $5 of spend
Railway recommends Pro for commercial applications
Fly.io
Trial: 2 hours of Machine runtime or 7 days, whichever comes first
The trial itself
Apps stop running if you don't add a payment method
Not covered

What these tiers mean by site type:

  • Pure static: Cloudflare's free and unlimited static asset requests make it the most forgiving choice for traffic spikes. On Netlify's credit plans, bandwidth (20 credits per GB) and production deploys (15 credits each) draw from the same monthly allotment. As an illustrative estimate, 300 credits cover 15 GB of bandwidth if nothing else uses credits, or 20 production deploys alone.
  • Static plus functions: Vercel Hobby's non-commercial restriction rules it out for business sites. On the Workers Free plan, the daily limit of 100,000 requests resets at midnight UTC.
  • Full-stack: An always-on backend rarely fits any free tier.
    • Render is the only one of the three with free instance types for web services, Postgres and Key Value, meant for exploration and personal projects.
    • Railway's trial reverts to a Free plan with $1 of credit per month, which doesn't roll over.
    • Fly.io gives new organizations a trial rather than a free tier, and its cheapest always-on app costs $2.19 per 30 days.

Migration effort from Netlify

These ratings group the work by category. They're not a step-by-step guide.

Usually straightforward

On most platforms, these steps carry over without much rework:

  • Connecting your Git repository.
  • Setting the build command and publish directory.
  • Copying environment variables.
  • Moving custom domains and DNS records.

For example, Render supports automatic deploys from Git, environment variables and custom domains. Vercel includes environment variables and GitHub integration on every plan.

Needs translation

  • Redirects and headers: Netlify supports redirect rules in its netlify.toml configuration file, including signed proxy redirects. Translate each rule into the target platform's format rather than copying the file. Vercel includes redirects and rewrites on every plan. Cloudflare Pages reads a _redirects file placed in the build output directory, plus a _headers file. A _redirects file is limited to 2,000 static and 100 dynamic redirects. It doesn't support query parameter matching or domain-level redirects, and proxying only works for relative URLs on your site, not external domains. Check each Netlify rule against those limits. On Render static sites, you recreate redirects and rewrites as rules in the Render Dashboard, with wildcards and placeholders, and redirects return a 301. You set response headers per path in the Dashboard too.
  • Functions and edge logic: Your function code changes shape on every target platform. On Cloudflare, standalone Workers code uses a fetch() handler. On Render, Railway or Fly.io, the logic moves into an HTTP server you run as a service: a Render web service, a Railway service deployed to a long-running server, or a Fly.io app running on Machines.

Needs replacement

Netlify Forms, Netlify Database and Netlify Blob storage are Netlify products. If you use them, choose a substitute and migrate your data. Do the same for any login flow your site runs through Netlify.

Effort by platform

Platform
Effort
Main reason
Biggest Netlify feature to replace
Render
Low (static), Medium (full-stack)
Static sites deploy from Git to a CDN with little change, while functions move into a web service or background worker
Forms and login
Vercel
Medium
Functions are rewritten as Vercel Functions, and forms and login are rebuilt
Forms and login
Cloudflare Pages
Low (static), Medium (functions)
Static output moves with little change, while each function is rewritten for the Workers runtime
Forms, login and functions code
GitHub Pages
Low for plain static output (editorial rating)
Static files move with little change, but any functions, forms or login move to another service because Pages hosts static files only
Any functions, forms or login
Railway
Medium
Functions move into a service on a long-running server, and forms and login are rebuilt
Forms and login
Fly.io
High
You size Machines, choose regions and run your own endpoints for forms and login
Forms and login

What Netlify still does best

Netlify still has five strengths worth weighing: deploy previews, built-in forms, Netlify Identity, access control and its functions toolkit.

Deploy previews come standard. The Free plan includes unlimited deploy previews. Creating a preview uses 0 credits, though traffic to preview URLs still counts toward web requests.

Forms work without a backend. Built-in form handling lets a static site collect submissions without you running an endpoint. Legacy Free and Starter plans include 100 submissions per site per month. On all credit-based plans, form submissions are free and unlimited. This comparison found no built-in form handler on the alternatives it covers, so plan to replace it.

Access control comes built in. Every Pro plan tier includes password protection, along with unlimited team seats and audit logs. Netlify Identity handles visitor signup, login, OAuth social login and roles, and Netlify includes it on all credit-based plans at no extra cost. If your site's login runs on Identity, plan to rebuild it with a new auth provider on any alternative here.

The functions and edge toolkit covers many shapes. Netlify offers several function types in one place:

  • Background Functions that run for up to 15 minutes.
  • Scheduled functions.
  • Edge functions with 512 MB of memory per set of deployed edge functions.

The Free plan also bundles Netlify Database, Blob storage, firewall traffic rules and a global CDN.

Staying on Netlify is the better choice when:

  • Your static site relies heavily on Forms: Moving means building or buying a form pipeline for little gain.
  • Your team's workflow depends on deploy previews: Reviewers, content editors and clients already know the flow.
  • Your access control or login runs on Netlify: Password protection is included on every Pro tier, and a login flow you've built on Netlify Identity has to be rebuilt elsewhere.
  • You're on a legacy plan that fits: Legacy Free and Starter include 100 GB of bandwidth a month. Switching to a credit-based plan is irreversible, so don't switch or migrate in a hurry.
  • Your site fits comfortably within its current plan: Netlify sends usage notifications as you approach your credit limit, including at 50%, 75% and 100% of usage. If you rarely see them, the migration cost probably outweighs the savings.

Shortlist by use case

  • Pure static: Shortlist Cloudflare Pages for free static requests. Add Render static sites, available across all plans. Add GitHub Pages for non-commercial sites whose code is already on GitHub.
  • Static plus functions: Shortlist Cloudflare Pages, which bills Pages Functions as Workers, and Vercel Pro at $20 a month. For a deeper look at Vercel, see the Render vs Vercel comparison.
  • Full-stack: Shortlist these three:
    • Render, for a set monthly price per instance type, prorated to the second (paid web services from $7 a month), and managed Postgres alongside web services, workers and cron jobs.
    • Railway, for per-second usage billing.
    • Fly.io, for Machines billed by the second across regions.
  • Stay on Netlify if your site depends on built-in forms, unlimited deploy previews, Netlify Identity or password protection on Pro.

Frequently asked questions