Cloudflare Pages vs Workers: When to Use Each in 2026

Cloudflare Pages is a Git-connected static site host with preview deployments. Cloudflare Workers is full serverless compute on V8 isolates with Durable Objects, KV, R2, and the new Dynamic Workers SDK. Pages is now in maintenance mode. Workers gets all new investment. Here's when each still makes sense.

April 4, 2026 · 2 min read

Quick Verdict: Pages vs Workers

Bottom Line

Start new projects on Workers. It does everything Pages does (static hosting, framework support) plus serverless compute, Durable Objects, KV, R2, D1, Queues, Cron Triggers, and the new Dynamic Workers SDK. Pages still works fine for pure static sites with Git-based CI/CD, but Cloudflare is putting all new development into Workers.

100K
Free Workers requests/day
~2ms
V8 isolate cold start
$5/mo
Paid plan (both products)

Architecture: How They Actually Work

Pages and Workers run on the same global network of 300+ data centers. The difference is what sits between a request and a response.

Pages: Static-First with Functions Bolted On

Pages serves static files from Cloudflare's edge CDN. When you add a functions/ directory or use a framework adapter (Next.js, Astro, SvelteKit), Pages compiles your server routes into a Worker that runs in front of your static assets. Git push triggers a build. Every branch gets a preview URL. The abstraction is clean, but the compute layer underneath is still Workers.

Workers: V8 Isolates as the Primitive

Workers run JavaScript/TypeScript inside V8 isolates, the same engine Chrome uses. Each isolate starts in milliseconds with ~2MB memory overhead, compared to 30-50MB for a container. One edge node hosts thousands of isolates simultaneously. You get direct access to KV, R2, D1, Durable Objects, Queues, and now Dynamic Workers for programmatic isolate creation.

The key insight: Pages Functions are Workers. When you deploy a Pages project with server-side routes, Cloudflare compiles those routes into a Worker. You get the same V8 isolate runtime, the same CPU time limits, the same billing. Pages just hides the wiring.

Feature Comparison: Pages vs Workers

FeaturePagesWorkers
Static asset hostingNative (CDN-backed)Native (added 2024-2025)
Git-based CI/CDBuilt-in (GitHub/GitLab)Via Builds (newer, less mature)
Preview deploymentsAutomatic per branch/PRManual or via CI
Server-side computePages Functions (limited)Full Workers runtime
Durable ObjectsNoYes
KV, R2, D1, QueuesVia bindings (limited)Full access
Cron TriggersNoYes
Dynamic Workers / Sandbox SDKNoYes (open beta)
Framework supportNext.js, Astro, SvelteKit, etc.Same frameworks via adapters
Custom domainsYesYes
Wrangler CLIwrangler pageswrangler deploy
Build configDashboard or wrangler.tomlwrangler.toml
StatusMaintenance modeActive development

Use Cases: Matching the Tool to the Problem

Pages is Still Simpler For

Documentation sites, marketing pages, blogs, and any project where the entire output is static HTML/CSS/JS. You connect your GitHub repo, set the build command and output directory, and Pages handles the rest. Every PR gets a preview URL. Rollbacks are instant. No wrangler.toml to configure, no bindings to manage.

Workers is Required For

Anything that needs server-side logic beyond what a framework adapter provides. API endpoints with custom routing. Authentication flows. WebSocket connections via Durable Objects. Scheduled jobs via Cron Triggers. Data pipelines that read from R2 and write to D1. AI agent sandboxing via Dynamic Workers.

The Hybrid Approach is Dying

The old pattern was: Pages for the frontend, a separate Worker for the API. This made sense when Pages couldn't do compute and Workers couldn't serve static files. Now Workers does both. A single wrangler.toml can define your static assets, your API routes, your KV bindings, and your cron schedules. One deployment, one project, one bill.

Pricing

Pages and Workers share the same paid plan. The $5/month minimum covers both. Static asset requests are free on both platforms.

ItemPages FreeWorkers FreePaid ($5/mo)
Static requestsUnlimitedFree (not counted)Free (not counted)
Function/Worker requests100K/day (shared)100K/day10M/month included
CPU time per request10ms10ms30 seconds
Builds500/monthN/A5,000/month
BandwidthUnlimitedUnlimitedUnlimited
Additional requestsN/AN/A$0.30 per million
Additional CPU timeN/AN/A$0.02 per million CPU-ms

The pricing parity is intentional. Cloudflare wants you on Workers. They removed the cost incentive to stay on Pages by making static asset serving free on Workers and billing Pages Functions at Workers rates.

Dynamic Workers and the Sandbox SDK

The biggest gap between Pages and Workers in 2026 is Dynamic Workers, which entered open beta in March. This is a Workers-only feature with no Pages equivalent.

Dynamic Workers let you programmatically create V8 isolates on demand. The isolate starts in milliseconds with ~2MB memory overhead. Compare that to spinning up a container (seconds, 30-50MB minimum). Cloudflare claims 100x faster startup and 100x better memory efficiency, which tracks with the V8 isolate architecture they have been running for eight years.

~2ms
Isolate startup time
~2MB
Memory per isolate
100x
Faster than containers

The Sandbox SDK ships three packages. @cloudflare/worker-bundler resolves npm dependencies and bundles source files with esbuild. @cloudflare/codemod replaces individual tool calls with a single code() tool so LLMs can write and execute TypeScript that orchestrates multiple API calls in one pass. @cloudflare/shell gives the isolate a virtual filesystem backed by SQLite and R2.

Why This Matters for AI

AI agents need to execute generated code safely. Most teams use containers for this, which adds seconds of latency per execution. Dynamic Workers give you isolate-level sandboxing with millisecond startup. If you are building AI agent infrastructure, this is the reason to be on Workers, not Pages.

When Pages Still Wins

Zero-Config Git Deployments

Connect a GitHub repo, set a build command, done. Every branch gets a preview URL. Every PR shows a deployment status check. No wrangler.toml, no bindings, no configuration files beyond what your framework needs.

Pure Static Sites

Documentation, marketing pages, blogs, portfolios. If the build output is just HTML/CSS/JS with no server-side routes, Pages is the path of least resistance. Unlimited bandwidth, unlimited static requests, 500 builds/month on the free tier.

Non-Technical Teams

Pages' dashboard-driven workflow is easier for teams that don't want to learn Wrangler. Push to main, it builds, it deploys. The simplicity has real value when the people deploying aren't infrastructure engineers.

Existing Pages Projects

If it works, don't migrate for the sake of migrating. Pages isn't going away. It shares the same underlying network and runtime. Migrate when you need a Workers-only feature, not because of FOMO.

When Workers Wins

Full-Stack Applications

Frontend and backend in one deployment. Static assets, API routes, KV bindings, R2 storage, D1 database, all defined in a single wrangler.toml. No separate infrastructure to manage.

Stateful Edge Logic

Durable Objects give you strongly consistent, single-threaded state at the edge. WebSocket servers, collaborative editing, distributed locks, rate limiters. Pages has no equivalent.

AI Agent Infrastructure

Dynamic Workers (open beta) let you spin up sandboxed V8 isolates on demand with millisecond startup. The Sandbox SDK adds npm bundling, a virtual filesystem, and persistent storage. This is the platform Cloudflare is betting on for AI workloads.

Scheduled and Event-Driven Work

Cron Triggers for scheduled jobs. Queues for async processing. Tail Workers for logging and analytics. Email Workers for inbound email handling. None of these exist on Pages.

Frequently Asked Questions

Should I use Cloudflare Pages or Workers for a new project in 2026?

Workers, unless you have a pure static site with no server-side requirements. Workers now serves static assets natively, supports all the same frameworks, and gives you access to the full Cloudflare developer platform (Durable Objects, KV, R2, D1, Queues, Cron Triggers, Dynamic Workers). Pages is in maintenance mode.

Is Cloudflare Pages being deprecated?

Not officially. Cloudflare says Pages will continue to be supported and receive bug fixes. But all new investment goes to Workers. New features like Dynamic Workers, the Sandbox SDK, and enhanced static asset handling are Workers-only. The migration guide from Pages to Workers exists for a reason.

How much do Cloudflare Pages and Workers cost?

Both have free tiers. Workers Free: 100,000 requests/day, 10ms CPU time per request. Pages Free: unlimited static requests, unlimited bandwidth, 500 builds/month. The paid plan is $5/month shared across both, including 10 million Workers requests, 30 million CPU-ms, and 5,000 builds. Additional requests cost $0.30 per million. No bandwidth charges on either plan.

Can Cloudflare Workers serve static files?

Yes. Workers gained native static asset hosting. You define your assets in wrangler.toml, deploy with wrangler deploy, and Cloudflare serves them from its edge CDN. Static asset requests are free, same as Pages. A single Worker can serve your React app and your API from one deployment.

What are Cloudflare Dynamic Workers?

Dynamic Workers (open beta, March 2026) let you create V8 isolates programmatically at runtime. Startup is milliseconds, memory is ~2MB per isolate, and Cloudflare claims 100x better performance than containers. The Sandbox SDK adds npm dependency bundling (@cloudflare/worker-bundler), a code execution tool for LLMs (@cloudflare/codemod), and a virtual filesystem (@cloudflare/shell). The primary use case is safe execution of AI-generated code.

Related Comparisons

Morph Runs on Cloudflare Infrastructure

Morph deploys AI coding models on Cloudflare's global network. Fast inference at the edge, same V8 isolate architecture that powers Workers. Try the API or use Morph through your favorite coding agent.