Skip to content
Cloudflare Docs
Search
Products
Learning
Status
Support
Log in
GitHub
X
YouTube
Select theme
Dark
Light
Auto
Pages
Overview
Get started
Overview
CLI
Direct Upload
Git integration
Framework guides
Overview
Analog
Angular
Astro
Blazor
Brunch
Docusaurus
Elder.js
Eleventy
Ember
Gatsby
Gridsome
Hexo
Hono
Hugo
Jekyll
MkDocs
Next.js
Overview
Full-stack (SSR)
Overview
Get started
Bindings
Advanced Usage
Caching
Routing static assets
Supported features
Troubleshooting
Static site
Resources
Nuxt
Pelican
Preact
Qwik
React
Remix
Solid
Sphinx
Static HTML
SvelteKit
Vite 3
VitePress
Vue
Zola
Migration guides
Overview
Migrating a Jekyll-based site from GitHub Pages
Migrating from Firebase
Migrating from Netlify to Pages
Overview
Migrating from Vercel to Pages
Overview
Migrating from Workers Sites to Pages
Overview
Configuration
Overview
Branch deployment controls
Build caching
Build configuration
Build image
Build watch paths
Custom domains
Debugging Pages
Deploy Hooks
Early Hints
Git integration
Headers
Monorepos
Preview deployments
Redirects
REST API
Rollbacks
Serving Pages
Functions
Overview
Get started
Routing
API reference
Examples
Overview
A/B testing with middleware
Adding CORS headers
Middleware
Configuration
Local development
Bindings
TypeScript
Advanced mode
Pages Plugins
Overview
Cloudflare Access
Google Chat
GraphQL
hCaptcha
Honeycomb
Sentry
Static Forms
Stytch
Turnstile
Community Plugins
vercel/og
Metrics
Debugging and logging
Pricing
Module support
Smart Placement
Beta
Source maps and stack traces
Beta
Tutorials
Demos and architectures
How to
Overview
Add a custom domain to a branch
Add custom HTTP headers
Deploy a static WordPress site
Enable Web Analytics
Enable Zaraz
Install private packages
Preview Local Projects with Cloudflare Tunnel
Redirecting *.pages.dev to a Custom Domain
Redirecting www to domain apex
Refactor a Worker to a Pages Function
Set build commands per branch
Use Direct Upload with continuous integration
Use Pages Functions for A/B testing
Platform
Overview
Limits
Choose a data or storage product ↗
Changelog
Known issues
Products
Learning
Status
Support
Log in
GitHub
X
YouTube
Select theme
Dark
Light
Auto
Products
…
Pages
Framework guides
Next.js
Resources
Resources
Demo apps
For demo applications using Next.js, refer to the following resources:
Upload Image to R2 starter:
Upload images to Cloudflare R2 from a Next.js application.
Cloudflare Dashboard
Discord
Community
Learning Center
Support Portal
Cookie Settings