Skip to content
← Back to articles
9 min read

Deploying Astro in 2026: Vercel vs Cloudflare vs Netlify

A practical comparison of deploying Astro 6 sites. Build times, cold starts, pricing, and edge rendering across the three major platforms.

Deploying Astro in 2026: Vercel vs Cloudflare vs Netlify
In this post

TL;DR: All three platforms deploy Astro well, but the trade-offs matter. Vercel has the smoothest DX and fastest cold starts for SSR. Cloudflare Workers is cheapest at scale with true edge execution. Netlify is solid for static-heavy sites but lags on SSR performance. Here’s the real-world comparison from deploying the same Astro 6 site to all three.


Astro’s adapter system means you can deploy to practically any platform. But “can deploy” and “should deploy” are different conversations. Each platform has distinct build pipelines, pricing models, and runtime characteristics that affect your site’s performance and your monthly bill.

I deployed the same Astro 6 site — this one — to all three platforms and measured what matters.

Table of Contents

The Test Setup

The site: 23 blog posts, 2 project pages, dynamic OG image generation via Satori, content collections with MDX, one React island (command palette). Roughly 40 pages total.

What I measured:

  • Build time — from git push to live
  • Cold start latency — first request after 10 minutes of inactivity
  • TTFB — server response time for an SSR page
  • Static asset delivery — CDN cache hit performance
  • Monthly cost — at ~10K and ~100K page views

Vercel

Setup

Vercel auto-detects Astro and configures the build with zero config. Install the adapter:

npx astro add vercel

That’s it. Push to GitHub and the site is live. The astro.config.mjs change is a single line:

import vercel from '@astrojs/vercel';

export default defineConfig({
  output: 'server',
  adapter: vercel(),
});

Performance

MetricResult
Build time38s
Cold start (SSR)~120ms
TTFB (warm)~45ms
Static TTFB~15ms (CDN)

Vercel’s edge network is fast. Cold starts are noticeably snappy because they use lightweight V8 isolates for serverless functions. The Astro integration handles ISR (Incremental Static Regeneration) natively if you want a hybrid approach.

Pricing Reality

The free tier covers 100GB bandwidth and 100K serverless invocations. For a personal portfolio or small blog, you’ll never pay. At ~100K monthly page views with SSR, expect to stay within the free tier or hit the low end of Pro ($20/mo).

Verdict

Best developer experience. Fastest cold starts. The Git integration, preview deployments, and dashboard are polished. If DX is your priority, this is the default choice.

Cloudflare Pages + Workers

Setup

Cloudflare requires the Cloudflare adapter:

npx astro add cloudflare
import cloudflare from '@astrojs/cloudflare';

export default defineConfig({
  output: 'server',
  adapter: cloudflare(),
});

Deploy via wrangler CLI or connect a GitHub repo through the Cloudflare dashboard. The initial setup has a few more steps — you’ll need a Cloudflare account and to configure a wrangler.toml for any Workers-specific settings.

Performance

MetricResult
Build time42s
Cold start (SSR)~8ms
TTFB (warm)~25ms
Static TTFB~12ms (CDN)

Those cold start numbers aren’t a typo. Cloudflare Workers run on V8 isolates at the edge — there’s no container spin-up. Every request runs close to the user. The trade-off is a more constrained runtime: no Node.js APIs, limited to the Workers runtime.

Pricing Reality

Cloudflare’s free tier is generous: 100K Workers requests/day, unlimited static bandwidth. At 100K monthly page views, you’ll pay nothing. Even at scale, Workers pricing ($5/10M requests) is dramatically cheaper than serverless functions on other platforms.

Verdict

Cheapest at scale with the best raw performance numbers. The trade-off is DX — the Workers runtime has quirks (no fs, no native Node modules), and debugging is less intuitive than Vercel. If you’re building for performance and cost, this is the pick.

Netlify

Setup

npx astro add netlify
import netlify from '@astrojs/netlify';

export default defineConfig({
  output: 'server',
  adapter: netlify(),
});

Netlify’s Git integration is straightforward — connect the repo and it detects Astro automatically. Build settings are usually correct out of the box.

Performance

MetricResult
Build time51s
Cold start (SSR)~350ms
TTFB (warm)~80ms
Static TTFB~18ms (CDN)

Netlify runs SSR via AWS Lambda under the hood. The cold starts are noticeably slower — Lambda containers take longer to spin up than V8 isolates. Static assets perform well through their CDN, but the SSR story is weaker.

Pricing Reality

Free tier includes 100GB bandwidth and 125K serverless function invocations. Comparable to Vercel’s free tier. At scale, pricing is similar to Vercel Pro.

Verdict

Solid platform for static-heavy sites. If you’re running Astro in full static mode (output: "static"), Netlify performs identically to the others. But for SSR or hybrid rendering, the Lambda cold starts are a meaningful disadvantage.

The Comparison Table

VercelCloudflareNetlify
Setup effortZero-configLow (wrangler)Zero-config
SSR cold start~120ms~8ms~350ms
TTFB (warm)~45ms~25ms~80ms
Build time38s42s51s
Free tierGenerousVery generousGenerous
Cost at 100K views$0–20/mo$0$0–19/mo
RuntimeNode.js + EdgeWorkers (V8)Node.js (Lambda)
Best forDX + SSRPerformance + costStatic sites

My Recommendation

For most Astro sites in 2026:

  1. Default to Vercel if you want the smoothest experience and don’t want to think about deployment
  2. Use Cloudflare if you’re cost-sensitive, need edge performance, or are building for scale
  3. Use Netlify if you’re already in their ecosystem or running fully static

This site runs on Vercel. The build-push-live cycle is under 40 seconds, preview deployments work perfectly, and the free tier covers everything I need right now. If traffic grows significantly, I’d consider Cloudflare for the cost advantage.

The good news: Astro’s adapter system means switching is a one-line change. Don’t overthink the initial decision — you can migrate in 15 minutes.

Written by Jordan Thirkle

Stay-at-home dad building AI-accelerated products. I write code during naps and after bedtime — every post comes from real work, not theory.

X GITHUB LINKEDIN NEWSLETTER
0