Toggle
App Router
Pages Router
Getting Started
Installation
Project Structure
Building Your Application
Routing
Defining Routes
Pages and Layouts
Linking and Navigating
Loading UI and Streaming
Error Handling
Redirecting
Route Groups
Project Organization
Dynamic Routes
Parallel Routes
Intercepting Routes
Route Handlers
Middleware
Internationalization
Data Fetching
Fetching, Caching, and Revalidating
Server Actions and Mutations
Data Fetching Patterns and Best Practices
Rendering
Server Components
Client Components
Composition Patterns
Edge and Node.js Runtimes
Caching
Styling
CSS Modules
Tailwind CSS
CSS-in-JS
Sass
Optimizing
Images
Fonts
Scripts
Metadata
Static Assets
Bundle Analyzer
Lazy Loading
Analytics
Instrumentation
OpenTelemetry
Third Party Libraries
Configuring
TypeScript
ESLint
Environment Variables
Absolute Imports and Module Path Aliases
MDX
src Directory
Draft Mode
Content Security Policy
Testing
Vitest
Jest
Playwright
Cypress
Deploying
Production Checklist
Static Exports
Upgrading
Codemods
App Router Migration
Version 14
Migrating from Vite
API Reference
Components
Font
<Image>
<Link>
<Script>
File Conventions
default.js
error.js
layout.js
loading.js
not-found.js
page.js
route.js
Route Segment Config
template.js
Metadata Files
favicon, icon, and apple-icon
manifest.json
opengraph-image and twitter-image
robots.txt
sitemap.xml
Functions
cookies
draftMode
fetch
generateImageMetadata
generateMetadata
generateSitemaps
generateStaticParams
generateViewport
headers
ImageResponse
NextRequest
NextResponse
notFound
permanentRedirect
redirect
revalidatePath
revalidateTag
unstable_cache
unstable_noStore
useParams
usePathname
useReportWebVitals
useRouter
useSearchParams
useSelectedLayoutSegment
useSelectedLayoutSegments
userAgent
next.config.js Options
appDir
assetPrefix
basePath
compress
devIndicators
distDir
env
eslint
exportPathMap
generateBuildId
generateEtags
headers
httpAgentOptions
images
incrementalCacheHandlerPath
logging
mdxRs
onDemandEntries
optimizePackageImports
output
pageExtensions
Partial Prerendering (experimental)
poweredByHeader
productionBrowserSourceMaps
reactStrictMode
redirects
rewrites
serverActions
serverComponentsExternalPackages
trailingSlash
transpilePackages
turbo
typedRoutes
typescript
urlImports
webpack
webVitalsAttribution
create-next-app
Edge Runtime
Next.js CLI
Building Your Application
Routing
Pages and Layouts
Dynamic Routes
Linking and Navigating
Custom App
Custom Document
Custom Errors
API Routes
Internationalization
Authenticating
Middleware
Rendering
Server-side Rendering (SSR)
Static Site Generation (SSG)
Automatic Static Optimization
Client-side Rendering (CSR)
Edge and Node.js Runtimes
Data Fetching
getStaticProps
getStaticPaths
Forms and Mutations
getServerSideProps
Incremental Static Regeneration (ISR)
Client-side Fetching
Styling
CSS Modules
Tailwind CSS
CSS-in-JS
Sass
Optimizing
Images
Fonts
Scripts
Static Assets
Bundle Analyzer
Analytics
Lazy Loading
Instrumentation
OpenTelemetry
Third Party Libraries
Configuring
TypeScript
ESLint
Environment Variables
Absolute Imports and Module Path Aliases
src Directory
MDX
AMP
Babel
PostCSS
Custom Server
Draft Mode
Error Handling
Debugging
Preview Mode
Content Security Policy
Testing
Vitest
Jest
Playwright
Cypress
Deploying
Production Checklist
Static Exports
Multi Zones
Continuous Integration (CI) Build Caching
Upgrading
Codemods
From Pages to App
Version 14
Version 13
Version 12
Version 11
Version 10
Version 9
API Reference
Components
Font
<Head>
<Image>
<Image> (Legacy)
<Link>
<Script>
Functions
getInitialProps
getServerSideProps
getStaticPaths
getStaticProps
NextRequest
NextResponse
useAmp
useReportWebVitals
useRouter
userAgent
next.config.js Options
assetPrefix
basePath
compress
devIndicators
distDir
env
eslint
exportPathMap
generateBuildId
generateEtags
headers
httpAgentOptions
images
onDemandEntries
output
pageExtensions
poweredByHeader
productionBrowserSourceMaps
reactStrictMode
redirects
rewrites
Runtime Config
trailingSlash
transpilePackages
turbo
typescript
urlImports
webpack
webVitalsAttribution
create-next-app
Next.js CLI
Edge Runtime
Architecture
Accessibility
Fast Refresh
Next.js Compiler
Supported Browsers
Turbopack
Community
Contribution Guide
Functions