# Next.js Documentation

@doc-version: 16.1.6
@doc-version-notes: Some features may have extended or refined behavior in minor or patch releases


- [Getting Started](https://nextjs.org/docs/app/getting-started): Learn how to create full-stack web applications with the Next.js App Router.
  - [Installation](https://nextjs.org/docs/app/getting-started/installation): Learn how to create a new Next.js application with the `create-next-app` CLI, and set up TypeScript, ESLint, and Module Path Aliases.
  - [Project Structure](https://nextjs.org/docs/app/getting-started/project-structure): Learn the folder and file conventions in Next.js, and how to organize your project.
  - [Layouts and Pages](https://nextjs.org/docs/app/getting-started/layouts-and-pages): Learn how to create your first pages and layouts, and link between them with the Link component.
  - [Linking and Navigating](https://nextjs.org/docs/app/getting-started/linking-and-navigating): Learn how the built-in navigation optimizations work, including prefetching, prerendering, and client-side navigation, and how to optimize navigation for dynamic routes and slow networks.
  - [Server and Client Components](https://nextjs.org/docs/app/getting-started/server-and-client-components): Learn how you can use React Server and Client Components to render parts of your application on the server or the client.
  - [Cache Components](https://nextjs.org/docs/app/getting-started/cache-components): Learn how to use Cache Components and combine the benefits of static and dynamic rendering.
  - [Fetching Data](https://nextjs.org/docs/app/getting-started/fetching-data): Learn how to fetch data and stream content that depends on data.
  - [Updating Data](https://nextjs.org/docs/app/getting-started/updating-data): Learn how to mutate data using Server Functions and Server Actions in Next.js.
  - [Caching and Revalidating](https://nextjs.org/docs/app/getting-started/caching-and-revalidating): Learn how to cache and revalidate data in your application.
  - [Error Handling](https://nextjs.org/docs/app/getting-started/error-handling): Learn how to display expected errors and handle uncaught exceptions.
  - [CSS](https://nextjs.org/docs/app/getting-started/css): Learn about the different ways to add CSS to your application, including Tailwind CSS, CSS Modules, Global CSS, and more.
  - [Image Optimization](https://nextjs.org/docs/app/getting-started/images): Learn how to optimize images in Next.js
  - [Font Optimization](https://nextjs.org/docs/app/getting-started/fonts): Learn how to optimize fonts in Next.js
  - [Metadata and OG images](https://nextjs.org/docs/app/getting-started/metadata-and-og-images): Learn how to add metadata to your pages and create dynamic OG images.
  - [Route Handlers](https://nextjs.org/docs/app/getting-started/route-handlers): Learn how to use Route Handlers
  - [Proxy](https://nextjs.org/docs/app/getting-started/proxy): Learn how to use Proxy
  - [Deploying](https://nextjs.org/docs/app/getting-started/deploying): Learn how to deploy your Next.js application.
  - [Upgrading](https://nextjs.org/docs/app/getting-started/upgrading): Learn how to upgrade your Next.js application to the latest version or canary.

- [Guides](https://nextjs.org/docs/app/guides): Learn how to implement common patterns and real-world use cases using Next.js
  - [AI Coding Agents](https://nextjs.org/docs/app/guides/ai-agents): Learn how to configure your Next.js project so AI coding agents use up-to-date documentation instead of outdated training data.
  - [Analytics](https://nextjs.org/docs/app/guides/analytics): Measure and track page performance using Next.js Speed Insights
  - [Authentication](https://nextjs.org/docs/app/guides/authentication): Learn how to implement authentication in your Next.js application.
  - [Backend for Frontend](https://nextjs.org/docs/app/guides/backend-for-frontend): Learn how to use Next.js as a backend framework
  - [Caching](https://nextjs.org/docs/app/guides/caching): An overview of caching mechanisms in Next.js.
  - [CI Build Caching](https://nextjs.org/docs/app/guides/ci-build-caching): Learn how to configure CI to cache Next.js builds
  - [Content Security Policy](https://nextjs.org/docs/app/guides/content-security-policy): Learn how to set a Content Security Policy (CSP) for your Next.js application.
  - [CSS-in-JS](https://nextjs.org/docs/app/guides/css-in-js): Use CSS-in-JS libraries with Next.js
  - [Custom Server](https://nextjs.org/docs/app/guides/custom-server): Start a Next.js app programmatically using a custom server.
  - [Data Security](https://nextjs.org/docs/app/guides/data-security): Learn the built-in data security features in Next.js and learn best practices for protecting your application's data.
  - [Debugging](https://nextjs.org/docs/app/guides/debugging): Learn how to debug your Next.js application with VS Code, Chrome DevTools, or Firefox DevTools.
  - [Draft Mode](https://nextjs.org/docs/app/guides/draft-mode): Next.js has draft mode to toggle between static and dynamic pages. You can learn how it works with App Router here.
  - [Environment Variables](https://nextjs.org/docs/app/guides/environment-variables): Learn to add and access environment variables in your Next.js application.
  - [Forms](https://nextjs.org/docs/app/guides/forms): Learn how to create forms in Next.js with React Server Actions.
  - [ISR](https://nextjs.org/docs/app/guides/incremental-static-regeneration): Learn how to create or update static pages at runtime with Incremental Static Regeneration.
  - [Instrumentation](https://nextjs.org/docs/app/guides/instrumentation): Learn how to use instrumentation to run code at server startup in your Next.js app
  - [Internationalization](https://nextjs.org/docs/app/guides/internationalization): Add support for multiple languages with internationalized routing and localized content.
  - [JSON-LD](https://nextjs.org/docs/app/guides/json-ld): Learn how to add JSON-LD to your Next.js application to describe your content to search engines and AI.
  - [Lazy Loading](https://nextjs.org/docs/app/guides/lazy-loading): Lazy load imported libraries and React Components to improve your application's loading performance.
  - [Development Environment](https://nextjs.org/docs/app/guides/local-development): Learn how to optimize your local development environment with Next.js.
  - [Next.js MCP Server](https://nextjs.org/docs/app/guides/mcp): Learn how to use Next.js MCP support to allow coding agents access to your application state
  - [MDX](https://nextjs.org/docs/app/guides/mdx): Learn how to configure MDX and use it in your Next.js apps.
  - [Memory Usage](https://nextjs.org/docs/app/guides/memory-usage): Optimize memory used by your application in development and production.
  - [Migrating](https://nextjs.org/docs/app/guides/migrating): Learn how to migrate from popular frameworks to Next.js
    - [App Router](https://nextjs.org/docs/app/guides/migrating/app-router-migration): Learn how to upgrade your existing Next.js application from the Pages Router to the App Router.
    - [Create React App](https://nextjs.org/docs/app/guides/migrating/from-create-react-app): Learn how to migrate your existing React application from Create React App to Next.js.
    - [Vite](https://nextjs.org/docs/app/guides/migrating/from-vite): Learn how to migrate your existing React application from Vite to Next.js.
  - [Multi-tenant](https://nextjs.org/docs/app/guides/multi-tenant): Learn how to build multi-tenant apps with the App Router.
  - [Multi-zones](https://nextjs.org/docs/app/guides/multi-zones): Learn how to build micro-frontends using Next.js Multi-Zones to deploy multiple Next.js apps under a single domain.
  - [OpenTelemetry](https://nextjs.org/docs/app/guides/open-telemetry): Learn how to instrument your Next.js app with OpenTelemetry.
  - [Package Bundling](https://nextjs.org/docs/app/guides/package-bundling): Learn how to analyze and optimize your application's server and client bundles with the Next.js Bundle Analyzer for Turbopack, and the `@next/bundle-analyzer` plugin for Webpack.
  - [Prefetching](https://nextjs.org/docs/app/guides/prefetching): Learn how to configure prefetching in Next.js
  - [Production](https://nextjs.org/docs/app/guides/production-checklist): Recommendations to ensure the best performance and user experience before taking your Next.js application to production.
  - [PWAs](https://nextjs.org/docs/app/guides/progressive-web-apps): Learn how to build a Progressive Web Application (PWA) with Next.js.
  - [Public pages](https://nextjs.org/docs/app/guides/public-static-pages): Learn how to build public, "static" pages that share data across users, such as landing pages, list pages (products, blogs, etc.), marketing and news sites.
  - [Redirecting](https://nextjs.org/docs/app/guides/redirecting): Learn the different ways to handle redirects in Next.js.
  - [Sass](https://nextjs.org/docs/app/guides/sass): Style your Next.js application using Sass.
  - [Scripts](https://nextjs.org/docs/app/guides/scripts): Optimize 3rd party scripts with the built-in Script component.
  - [Self-Hosting](https://nextjs.org/docs/app/guides/self-hosting): Learn how to self-host your Next.js application on a Node.js server, Docker image, or static HTML files (static exports).
  - [SPAs](https://nextjs.org/docs/app/guides/single-page-applications): Next.js fully supports building Single-Page Applications (SPAs).
  - [Static Exports](https://nextjs.org/docs/app/guides/static-exports): Next.js enables starting as a static site or Single-Page Application (SPA), then later optionally upgrading to use features that require a server.
  - [Tailwind CSS v3](https://nextjs.org/docs/app/guides/tailwind-v3-css): Style your Next.js Application using Tailwind CSS v3 for broader browser support.
  - [Testing](https://nextjs.org/docs/app/guides/testing): Learn how to set up Next.js with four commonly used testing tools — Cypress, Playwright, Vitest, and Jest.
    - [Cypress](https://nextjs.org/docs/app/guides/testing/cypress): Learn how to set up Cypress with Next.js for End-to-End (E2E) and Component Testing.
    - [Jest](https://nextjs.org/docs/app/guides/testing/jest): Learn how to set up Jest with Next.js for Unit Testing and Snapshot Testing.
    - [Playwright](https://nextjs.org/docs/app/guides/testing/playwright): Learn how to set up Playwright with Next.js for End-to-End (E2E) Testing.
    - [Vitest](https://nextjs.org/docs/app/guides/testing/vitest): Learn how to set up Vitest with Next.js for Unit Testing.
  - [Third Party Libraries](https://nextjs.org/docs/app/guides/third-party-libraries): Optimize the performance of third-party libraries in your application with the `@next/third-parties` package.
  - [Upgrading](https://nextjs.org/docs/app/guides/upgrading): Learn how to upgrade to the latest versions of Next.js.
    - [Codemods](https://nextjs.org/docs/app/guides/upgrading/codemods): Use codemods to upgrade your Next.js codebase when new features are released.
    - [Version 14](https://nextjs.org/docs/app/guides/upgrading/version-14): Upgrade your Next.js Application from Version 13 to 14.
    - [Version 15](https://nextjs.org/docs/app/guides/upgrading/version-15): Upgrade your Next.js Application from Version 14 to 15.
    - [Version 16](https://nextjs.org/docs/app/guides/upgrading/version-16): Upgrade your Next.js Application from Version 15 to 16.
  - [Videos](https://nextjs.org/docs/app/guides/videos): Recommendations and best practices for optimizing videos in your Next.js application.

- [API Reference](https://nextjs.org/docs/app/api-reference): Next.js API Reference for the App Router.
  - [Directives](https://nextjs.org/docs/app/api-reference/directives): Directives are used to modify the behavior of your Next.js application.
    - [use cache](https://nextjs.org/docs/app/api-reference/directives/use-cache): Learn how to use the "use cache" directive to cache data in your Next.js application.
    - [use cache: private](https://nextjs.org/docs/app/api-reference/directives/use-cache-private): Learn how to use the "use cache: private" directive to cache functions that access runtime request APIs.
    - [use cache: remote](https://nextjs.org/docs/app/api-reference/directives/use-cache-remote): Learn how to use the "use cache: remote" directive for persistent, shared caching using remote cache handlers.
    - [use client](https://nextjs.org/docs/app/api-reference/directives/use-client): Learn how to use the use client directive to render a component on the client.
    - [use server](https://nextjs.org/docs/app/api-reference/directives/use-server): Learn how to use the use server directive to execute code on the server.
  - [Components](https://nextjs.org/docs/app/api-reference/components): API Reference for Next.js built-in components.
    - [Font](https://nextjs.org/docs/app/api-reference/components/font): Optimizing loading web fonts with the built-in `next/font` loaders.
    - [Form Component](https://nextjs.org/docs/app/api-reference/components/form): Learn how to use the `<Form>` component to handle form submissions and search params updates with client-side navigation.
    - [Image Component](https://nextjs.org/docs/app/api-reference/components/image): Optimize Images in your Next.js Application using the built-in `next/image` Component.
    - [Link Component](https://nextjs.org/docs/app/api-reference/components/link): Enable fast client-side navigation with the built-in `next/link` component.
    - [Script Component](https://nextjs.org/docs/app/api-reference/components/script): Optimize third-party scripts in your Next.js application using the built-in `next/script` Component.
  - [File-system conventions](https://nextjs.org/docs/app/api-reference/file-conventions): API Reference for Next.js file-system conventions.
    - [default.js](https://nextjs.org/docs/app/api-reference/file-conventions/default): API Reference for the default.js file.
    - [Dynamic Segments](https://nextjs.org/docs/app/api-reference/file-conventions/dynamic-routes): Dynamic Route Segments can be used to programmatically generate route segments from dynamic data.
    - [error.js](https://nextjs.org/docs/app/api-reference/file-conventions/error): API reference for the error.js special file.
    - [forbidden.js](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden): API reference for the forbidden.js special file.
    - [instrumentation.js](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation): API reference for the instrumentation.js file.
    - [instrumentation-client.js](https://nextjs.org/docs/app/api-reference/file-conventions/instrumentation-client): Learn how to add client-side instrumentation to track and monitor your Next.js application's frontend performance.
    - [Intercepting Routes](https://nextjs.org/docs/app/api-reference/file-conventions/intercepting-routes): Use intercepting routes to load a new route within the current layout while masking the browser URL, useful for advanced routing patterns such as modals.
    - [layout.js](https://nextjs.org/docs/app/api-reference/file-conventions/layout): API reference for the layout.js file.
    - [loading.js](https://nextjs.org/docs/app/api-reference/file-conventions/loading): API reference for the loading.js file.
    - [mdx-components.js](https://nextjs.org/docs/app/api-reference/file-conventions/mdx-components): API reference for the mdx-components.js file.
    - [not-found.js](https://nextjs.org/docs/app/api-reference/file-conventions/not-found): API reference for the not-found.js file.
    - [page.js](https://nextjs.org/docs/app/api-reference/file-conventions/page): API reference for the page.js file.
    - [Parallel Routes](https://nextjs.org/docs/app/api-reference/file-conventions/parallel-routes): Simultaneously render one or more pages in the same view that can be navigated independently. A pattern for highly dynamic applications.
    - [proxy.js](https://nextjs.org/docs/app/api-reference/file-conventions/proxy): API reference for the proxy.js file.
    - [public](https://nextjs.org/docs/app/api-reference/file-conventions/public-folder): Next.js allows you to serve static files, like images, in the public directory. You can learn how it works here.
    - [route.js](https://nextjs.org/docs/app/api-reference/file-conventions/route): API reference for the route.js special file.
    - [Route Groups](https://nextjs.org/docs/app/api-reference/file-conventions/route-groups): Route Groups can be used to partition your Next.js application into different sections.
    - [Route Segment Config](https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config): Learn about how to configure options for Next.js route segments.
    - [src](https://nextjs.org/docs/app/api-reference/file-conventions/src-folder): Save pages under the `src` folder as an alternative to the root `pages` directory.
    - [template.js](https://nextjs.org/docs/app/api-reference/file-conventions/template): API Reference for the template.js file.
    - [unauthorized.js](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized): API reference for the unauthorized.js special file.
    - [Metadata Files](https://nextjs.org/docs/app/api-reference/file-conventions/metadata): API documentation for the metadata file conventions.
      - [favicon, icon, and apple-icon](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/app-icons): API Reference for the Favicon, Icon and Apple Icon file conventions.
      - [manifest.json](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest): API Reference for manifest.json file.
      - [opengraph-image and twitter-image](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/opengraph-image): API Reference for the Open Graph Image and Twitter Image file conventions.
      - [robots.txt](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots): API Reference for robots.txt file.
      - [sitemap.xml](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap): API Reference for the sitemap.xml file.
  - [Functions](https://nextjs.org/docs/app/api-reference/functions): API Reference for Next.js Functions and Hooks.
    - [after](https://nextjs.org/docs/app/api-reference/functions/after): API Reference for the after function.
    - [cacheLife](https://nextjs.org/docs/app/api-reference/functions/cacheLife): Learn how to use the cacheLife function to set the cache expiration time for a cached function or component.
    - [cacheTag](https://nextjs.org/docs/app/api-reference/functions/cacheTag): Learn how to use the cacheTag function to manage cache invalidation in your Next.js application.
    - [connection](https://nextjs.org/docs/app/api-reference/functions/connection): API Reference for the connection function.
    - [cookies](https://nextjs.org/docs/app/api-reference/functions/cookies): API Reference for the cookies function.
    - [draftMode](https://nextjs.org/docs/app/api-reference/functions/draft-mode): API Reference for the draftMode function.
    - [fetch](https://nextjs.org/docs/app/api-reference/functions/fetch): API reference for the extended fetch function.
    - [forbidden](https://nextjs.org/docs/app/api-reference/functions/forbidden): API Reference for the forbidden function.
    - [generateImageMetadata](https://nextjs.org/docs/app/api-reference/functions/generate-image-metadata): Learn how to generate multiple images in a single Metadata API special file.
    - [generateMetadata](https://nextjs.org/docs/app/api-reference/functions/generate-metadata): Learn how to add Metadata to your Next.js application for improved search engine optimization (SEO) and web shareability.
    - [generateSitemaps](https://nextjs.org/docs/app/api-reference/functions/generate-sitemaps): Learn how to use the generateSiteMaps function to create multiple sitemaps for your application.
    - [generateStaticParams](https://nextjs.org/docs/app/api-reference/functions/generate-static-params): API reference for the generateStaticParams function.
    - [generateViewport](https://nextjs.org/docs/app/api-reference/functions/generate-viewport): API Reference for the generateViewport function.
    - [headers](https://nextjs.org/docs/app/api-reference/functions/headers): API reference for the headers function.
    - [ImageResponse](https://nextjs.org/docs/app/api-reference/functions/image-response): API Reference for the ImageResponse constructor.
    - [NextRequest](https://nextjs.org/docs/app/api-reference/functions/next-request): API Reference for NextRequest.
    - [NextResponse](https://nextjs.org/docs/app/api-reference/functions/next-response): API Reference for NextResponse.
    - [notFound](https://nextjs.org/docs/app/api-reference/functions/not-found): API Reference for the notFound function.
    - [permanentRedirect](https://nextjs.org/docs/app/api-reference/functions/permanentRedirect): API Reference for the permanentRedirect function.
    - [redirect](https://nextjs.org/docs/app/api-reference/functions/redirect): API Reference for the redirect function.
    - [refresh](https://nextjs.org/docs/app/api-reference/functions/refresh): API Reference for the refresh function.
    - [revalidatePath](https://nextjs.org/docs/app/api-reference/functions/revalidatePath): API Reference for the revalidatePath function.
    - [revalidateTag](https://nextjs.org/docs/app/api-reference/functions/revalidateTag): API Reference for the revalidateTag function.
    - [unauthorized](https://nextjs.org/docs/app/api-reference/functions/unauthorized): API Reference for the unauthorized function.
    - [unstable_cache](https://nextjs.org/docs/app/api-reference/functions/unstable_cache): API Reference for the unstable_cache function.
    - [unstable_noStore](https://nextjs.org/docs/app/api-reference/functions/unstable_noStore): API Reference for the unstable_noStore function.
    - [unstable_rethrow](https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow): API Reference for the unstable_rethrow function.
    - [updateTag](https://nextjs.org/docs/app/api-reference/functions/updateTag): API Reference for the updateTag function.
    - [useLinkStatus](https://nextjs.org/docs/app/api-reference/functions/use-link-status): API Reference for the useLinkStatus hook.
    - [useParams](https://nextjs.org/docs/app/api-reference/functions/use-params): API Reference for the useParams hook.
    - [usePathname](https://nextjs.org/docs/app/api-reference/functions/use-pathname): API Reference for the usePathname hook.
    - [useReportWebVitals](https://nextjs.org/docs/app/api-reference/functions/use-report-web-vitals): API Reference for the useReportWebVitals function.
    - [useRouter](https://nextjs.org/docs/app/api-reference/functions/use-router): API reference for the useRouter hook.
    - [useSearchParams](https://nextjs.org/docs/app/api-reference/functions/use-search-params): API Reference for the useSearchParams hook.
    - [useSelectedLayoutSegment](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment): API Reference for the useSelectedLayoutSegment hook.
    - [useSelectedLayoutSegments](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments): API Reference for the useSelectedLayoutSegments hook.
    - [userAgent](https://nextjs.org/docs/app/api-reference/functions/userAgent): The userAgent helper extends the Web Request API with additional properties and methods to interact with the user agent object from the request.
  - [Configuration](https://nextjs.org/docs/app/api-reference/config): Learn how to configure Next.js applications.
    - [next.config.js](https://nextjs.org/docs/app/api-reference/config/next-config-js): Learn how to configure your application with next.config.js.
      - [experimental.adapterPath](https://nextjs.org/docs/app/api-reference/config/next-config-js/adapterPath): Configure a custom adapter for Next.js to hook into the build process with modifyConfig and onBuildComplete callbacks.
      - [allowedDevOrigins](https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins): Use `allowedDevOrigins` to configure additional origins that can request the dev server.
      - [appDir](https://nextjs.org/docs/app/api-reference/config/next-config-js/appDir): Enable the App Router to use layouts, streaming, and more.
      - [assetPrefix](https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix): Learn how to use the assetPrefix config option to configure your CDN.
      - [authInterrupts](https://nextjs.org/docs/app/api-reference/config/next-config-js/authInterrupts): Learn how to enable the experimental `authInterrupts` configuration option to use `forbidden` and `unauthorized`.
      - [basePath](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath): Use `basePath` to deploy a Next.js application under a sub-path of a domain.
      - [browserDebugInfoInTerminal](https://nextjs.org/docs/app/api-reference/config/next-config-js/browserDebugInfoInTerminal): Forward browser console logs and errors to your terminal during development.
      - [cacheComponents](https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents): Learn how to enable the cacheComponents flag in Next.js.
      - [cacheHandlers](https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheHandlers): Configure custom cache handlers for use cache directives in Next.js.
      - [cacheLife](https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheLife): Learn how to set up cacheLife configurations in Next.js.
      - [compress](https://nextjs.org/docs/app/api-reference/config/next-config-js/compress): Next.js provides gzip compression to compress rendered content and static files, it only works with the server target. Learn more about it here.
      - [crossOrigin](https://nextjs.org/docs/app/api-reference/config/next-config-js/crossOrigin): Use the `crossOrigin` option to add a crossOrigin tag on the `script` tags generated by `next/script`.
      - [cssChunking](https://nextjs.org/docs/app/api-reference/config/next-config-js/cssChunking): Use the `cssChunking` option to control how CSS files are chunked in your Next.js application.
      - [deploymentId](https://nextjs.org/docs/app/api-reference/config/next-config-js/deploymentId): Configure a deployment identifier used for version skew protection and cache busting.
      - [devIndicators](https://nextjs.org/docs/app/api-reference/config/next-config-js/devIndicators): Configuration options for the on-screen indicator that gives context about the current route you're viewing during development.
      - [distDir](https://nextjs.org/docs/app/api-reference/config/next-config-js/distDir): Set a custom build directory to use instead of the default .next directory.
      - [env](https://nextjs.org/docs/app/api-reference/config/next-config-js/env): Learn to add and access environment variables in your Next.js application at build time.
      - [expireTime](https://nextjs.org/docs/app/api-reference/config/next-config-js/expireTime): Customize stale-while-revalidate expire time for ISR enabled pages.
      - [exportPathMap](https://nextjs.org/docs/app/api-reference/config/next-config-js/exportPathMap): Customize the pages that will be exported as HTML files when using `next export`.
      - [generateBuildId](https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId): Configure the build id, which is used to identify the current build in which your application is being served.
      - [generateEtags](https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags): Next.js will generate etags for every page by default. Learn more about how to disable etag generation here.
      - [headers](https://nextjs.org/docs/app/api-reference/config/next-config-js/headers): Add custom HTTP headers to your Next.js app.
      - [htmlLimitedBots](https://nextjs.org/docs/app/api-reference/config/next-config-js/htmlLimitedBots): Specify a list of user agents that should receive blocking metadata.
      - [httpAgentOptions](https://nextjs.org/docs/app/api-reference/config/next-config-js/httpAgentOptions): Next.js will automatically use HTTP Keep-Alive by default. Learn more about how to disable HTTP Keep-Alive here.
      - [images](https://nextjs.org/docs/app/api-reference/config/next-config-js/images): Custom configuration for the next/image loader
      - [cacheHandler](https://nextjs.org/docs/app/api-reference/config/next-config-js/incrementalCacheHandlerPath): Configure the Next.js cache used for storing and revalidating data to use any external service like Redis, Memcached, or others.
      - [inlineCss](https://nextjs.org/docs/app/api-reference/config/next-config-js/inlineCss): Enable inline CSS support.
      - [isolatedDevBuild](https://nextjs.org/docs/app/api-reference/config/next-config-js/isolatedDevBuild): Use isolated build outputs for development server to prevent conflicts with production builds.
      - [logging](https://nextjs.org/docs/app/api-reference/config/next-config-js/logging): Configure how data fetches are logged to the console when running Next.js in development mode.
      - [mdxRs](https://nextjs.org/docs/app/api-reference/config/next-config-js/mdxRs): Use the new Rust compiler to compile MDX files in the App Router.
      - [onDemandEntries](https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries): Configure how Next.js will dispose and keep in memory pages created in development.
      - [optimizePackageImports](https://nextjs.org/docs/app/api-reference/config/next-config-js/optimizePackageImports): API Reference for optimizePackageImports Next.js Config Option
      - [output](https://nextjs.org/docs/app/api-reference/config/next-config-js/output): Next.js automatically traces which files are needed by each page to allow for easy deployment of your application. Learn how it works here.
      - [pageExtensions](https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions): Extend the default page extensions used by Next.js when resolving pages in the Pages Router.
      - [poweredByHeader](https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader): Next.js will add the `x-powered-by` header by default. Learn to opt-out of it here.
      - [productionBrowserSourceMaps](https://nextjs.org/docs/app/api-reference/config/next-config-js/productionBrowserSourceMaps): Enables browser source map generation during the production build.
      - [proxyClientMaxBodySize](https://nextjs.org/docs/app/api-reference/config/next-config-js/proxyClientMaxBodySize): Configure the maximum request body size when using proxy.
      - [reactCompiler](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler): Enable the React Compiler to automatically optimize component rendering.
      - [reactMaxHeadersLength](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength): The maximum length of the headers that are emitted by React and added to the response.
      - [reactStrictMode](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode): The complete Next.js runtime is now Strict Mode-compliant, learn how to opt-in
      - [redirects](https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects): Add redirects to your Next.js app.
      - [rewrites](https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites): Add rewrites to your Next.js app.
      - [sassOptions](https://nextjs.org/docs/app/api-reference/config/next-config-js/sassOptions): Configure Sass options.
      - [serverActions](https://nextjs.org/docs/app/api-reference/config/next-config-js/serverActions): Configure Server Actions behavior in your Next.js application.
      - [serverComponentsHmrCache](https://nextjs.org/docs/app/api-reference/config/next-config-js/serverComponentsHmrCache): Configure whether fetch responses in Server Components are cached across HMR refresh requests.
      - [serverExternalPackages](https://nextjs.org/docs/app/api-reference/config/next-config-js/serverExternalPackages): Opt-out specific dependencies from the Server Components bundling and use native Node.js `require`.
      - [staleTimes](https://nextjs.org/docs/app/api-reference/config/next-config-js/staleTimes): Learn how to override the invalidation time of the Client Router Cache.
      - [staticGeneration*](https://nextjs.org/docs/app/api-reference/config/next-config-js/staticGeneration): Learn how to configure static generation in your Next.js application.
      - [taint](https://nextjs.org/docs/app/api-reference/config/next-config-js/taint): Enable tainting Objects and Values.
      - [trailingSlash](https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash): Configure Next.js pages to resolve with or without a trailing slash.
      - [transpilePackages](https://nextjs.org/docs/app/api-reference/config/next-config-js/transpilePackages): Automatically transpile and bundle dependencies from local packages (like monorepos) or from external dependencies (`node_modules`).
      - [turbopack](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack): Configure Next.js with Turbopack-specific options
      - [turbopackFileSystemCache](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopackFileSystemCache): Learn how to enable FileSystem Caching for Turbopack builds
      - [typedRoutes](https://nextjs.org/docs/app/api-reference/config/next-config-js/typedRoutes): Enable support for statically typed links.
      - [typescript](https://nextjs.org/docs/app/api-reference/config/next-config-js/typescript): Configure how Next.js handles TypeScript errors during production builds and specify a custom tsconfig file.
      - [urlImports](https://nextjs.org/docs/app/api-reference/config/next-config-js/urlImports): Configure Next.js to allow importing modules from external URLs.
      - [useLightningcss](https://nextjs.org/docs/app/api-reference/config/next-config-js/useLightningcss): Enable experimental support for Lightning CSS.
      - [viewTransition](https://nextjs.org/docs/app/api-reference/config/next-config-js/viewTransition): Enable ViewTransition API from React in App Router
      - [webpack](https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack): Learn how to customize the webpack config used by Next.js
      - [webVitalsAttribution](https://nextjs.org/docs/app/api-reference/config/next-config-js/webVitalsAttribution): Learn how to use the webVitalsAttribution option to pinpoint the source of Web Vitals issues.
    - [TypeScript](https://nextjs.org/docs/app/api-reference/config/typescript): Next.js provides a TypeScript-first development experience for building your React application.
    - [ESLint](https://nextjs.org/docs/app/api-reference/config/eslint): Learn how to use and configure the ESLint plugin to catch common issues and problems in a Next.js application.
  - [CLI](https://nextjs.org/docs/app/api-reference/cli): API Reference for the Next.js Command Line Interface (CLI) tools.
    - [create-next-app](https://nextjs.org/docs/app/api-reference/cli/create-next-app): Create Next.js apps using one command with the create-next-app CLI.
    - [next CLI](https://nextjs.org/docs/app/api-reference/cli/next): Learn how to run and build your application with the Next.js CLI.
  - [Edge Runtime](https://nextjs.org/docs/app/api-reference/edge): API Reference for the Edge Runtime.
  - [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack): Turbopack is an incremental bundler optimized for JavaScript and TypeScript, written in Rust, and built into Next.js.

- [Glossary](https://nextjs.org/docs/app/glossary): A glossary of common terms used in Next.js.

- [Getting Started](https://nextjs.org/docs/pages/getting-started): Learn how to create full-stack web applications with Next.js with the Pages Router.
  - [Installation](https://nextjs.org/docs/pages/getting-started/installation): How to create a new Next.js application with `create-next-app`. Set up TypeScript, ESLint,and configure your `next.config.js` file.
  - [Project Structure](https://nextjs.org/docs/pages/getting-started/project-structure): Learn about the folder and file conventions in a Next.js project, and how to organize your project.
  - [Images](https://nextjs.org/docs/pages/getting-started/images): Optimize your images with the built-in `next/image` component.
  - [Fonts](https://nextjs.org/docs/pages/getting-started/fonts): Learn how to use fonts in Next.js
  - [CSS](https://nextjs.org/docs/pages/getting-started/css): Learn about the different ways to add CSS to your application, including CSS Modules, Global CSS, Tailwind CSS, and more.
  - [Deploying](https://nextjs.org/docs/pages/getting-started/deploying): Learn how to deploy your Next.js application.

- [Guides](https://nextjs.org/docs/pages/guides): Learn how to implement common UI patterns and use cases using Next.js
  - [Analytics](https://nextjs.org/docs/pages/guides/analytics): Measure and track page performance using Next.js
  - [Authentication](https://nextjs.org/docs/pages/guides/authentication): Learn how to implement authentication in Next.js, covering best practices, securing routes, authorization techniques, and session management.
  - [Babel](https://nextjs.org/docs/pages/guides/babel): Extend the babel preset added by Next.js with your own configs.
  - [CI Build Caching](https://nextjs.org/docs/pages/guides/ci-build-caching): Learn how to configure CI to cache Next.js builds
  - [Content Security Policy](https://nextjs.org/docs/pages/guides/content-security-policy): Learn how to set a Content Security Policy (CSP) for your Next.js application.
  - [CSS-in-JS](https://nextjs.org/docs/pages/guides/css-in-js): Use CSS-in-JS libraries with Next.js
  - [Custom Server](https://nextjs.org/docs/pages/guides/custom-server): Start a Next.js app programmatically using a custom server.
  - [Debugging](https://nextjs.org/docs/pages/guides/debugging): Learn how to debug your Next.js application with VS Code or Chrome DevTools.
  - [Draft Mode](https://nextjs.org/docs/pages/guides/draft-mode): Next.js has draft mode to toggle between static and dynamic pages. You can learn how it works with Pages Router.
  - [Environment Variables](https://nextjs.org/docs/pages/guides/environment-variables): Learn to add and access environment variables in your Next.js application.
  - [Forms](https://nextjs.org/docs/pages/guides/forms): Learn how to handle form submissions and data mutations with Next.js.
  - [ISR](https://nextjs.org/docs/pages/guides/incremental-static-regeneration): Learn how to create or update static pages at runtime with Incremental Static Regeneration.
  - [Instrumentation](https://nextjs.org/docs/pages/guides/instrumentation): Learn how to use instrumentation to run code at server startup in your Next.js app
  - [Internationalization](https://nextjs.org/docs/pages/guides/internationalization): Next.js has built-in support for internationalized routing and language detection. Learn more here.
  - [Lazy Loading](https://nextjs.org/docs/pages/guides/lazy-loading): Lazy load imported libraries and React Components to improve your application's overall loading performance.
  - [MDX](https://nextjs.org/docs/pages/guides/mdx): Learn how to configure MDX to write JSX in your markdown files.
  - [Migrating](https://nextjs.org/docs/pages/guides/migrating): Learn how to migrate from popular frameworks to Next.js
    - [App Router](https://nextjs.org/docs/pages/guides/migrating/app-router-migration): Learn how to upgrade your existing Next.js application from the Pages Router to the App Router.
    - [Create React App](https://nextjs.org/docs/pages/guides/migrating/from-create-react-app): Learn how to migrate your existing React application from Create React App to Next.js.
    - [Vite](https://nextjs.org/docs/pages/guides/migrating/from-vite): Learn how to migrate your existing React application from Vite to Next.js.
  - [Multi-Zones](https://nextjs.org/docs/pages/guides/multi-zones): Learn how to build micro-frontends using Next.js Multi-Zones to deploy multiple Next.js apps under a single domain.
  - [OpenTelemetry](https://nextjs.org/docs/pages/guides/open-telemetry): Learn how to instrument your Next.js app with OpenTelemetry.
  - [Package Bundling](https://nextjs.org/docs/pages/guides/package-bundling): Learn how to optimize your application's server and client bundles.
  - [PostCSS](https://nextjs.org/docs/pages/guides/post-css): Extend the PostCSS config and plugins added by Next.js with your own.
  - [Preview Mode](https://nextjs.org/docs/pages/guides/preview-mode): Next.js has the preview mode for statically generated pages. You can learn how it works here.
  - [Production](https://nextjs.org/docs/pages/guides/production-checklist): Recommendations to ensure the best performance and user experience before taking your Next.js application to production.
  - [Redirecting](https://nextjs.org/docs/pages/guides/redirecting): Learn the different ways to handle redirects in Next.js.
  - [Sass](https://nextjs.org/docs/pages/guides/sass): Learn how to use Sass in your Next.js application.
  - [Scripts](https://nextjs.org/docs/pages/guides/scripts): Optimize 3rd party scripts with the built-in Script component.
  - [Self-Hosting](https://nextjs.org/docs/pages/guides/self-hosting): Learn how to self-host your Next.js application on a Node.js server, Docker image, or static HTML files (static exports).
  - [Static Exports](https://nextjs.org/docs/pages/guides/static-exports): Next.js enables starting as a static site or Single-Page Application (SPA), then later optionally upgrading to use features that require a server.
  - [Tailwind CSS](https://nextjs.org/docs/pages/guides/tailwind-v3-css): Style your Next.js Application using Tailwind CSS.
  - [Testing](https://nextjs.org/docs/pages/guides/testing): Learn how to set up Next.js with three commonly used testing tools — Cypress, Playwright, Vitest, and Jest.
    - [Cypress](https://nextjs.org/docs/pages/guides/testing/cypress): Learn how to set up Next.js with Cypress for End-to-End (E2E) and Component Testing.
    - [Jest](https://nextjs.org/docs/pages/guides/testing/jest): Learn how to set up Next.js with Jest for Unit Testing.
    - [Playwright](https://nextjs.org/docs/pages/guides/testing/playwright): Learn how to set up Next.js with Playwright for End-to-End (E2E) and Integration testing.
    - [Vitest](https://nextjs.org/docs/pages/guides/testing/vitest): Learn how to set up Next.js with Vitest and React Testing Library - two popular unit testing libraries.
  - [Third Party Libraries](https://nextjs.org/docs/pages/guides/third-party-libraries): Optimize the performance of third-party libraries in your application with the `@next/third-parties` package.
  - [Upgrading](https://nextjs.org/docs/pages/guides/upgrading): Learn how to upgrade to the latest versions of Next.js.
    - [Codemods](https://nextjs.org/docs/pages/guides/upgrading/codemods): Use codemods to upgrade your Next.js codebase when new features are released.
    - [Version 10](https://nextjs.org/docs/pages/guides/upgrading/version-10): Upgrade your Next.js Application from Version 9 to Version 10.
    - [Version 11](https://nextjs.org/docs/pages/guides/upgrading/version-11): Upgrade your Next.js Application from Version 10 to Version 11.
    - [Version 12](https://nextjs.org/docs/pages/guides/upgrading/version-12): Upgrade your Next.js Application from Version 11 to Version 12.
    - [Version 13](https://nextjs.org/docs/pages/guides/upgrading/version-13): Upgrade your Next.js Application from Version 12 to 13.
    - [Version 14](https://nextjs.org/docs/pages/guides/upgrading/version-14): Upgrade your Next.js Application from Version 13 to 14.
    - [Version 9](https://nextjs.org/docs/pages/guides/upgrading/version-9): Upgrade your Next.js Application from Version 8 to Version 9.

- [Building Your Application](https://nextjs.org/docs/pages/building-your-application): Learn how to use Next.js features to build your application.
  - [Routing](https://nextjs.org/docs/pages/building-your-application/routing): Learn the fundamentals of routing for front-end applications with the Pages Router.
    - [Pages and Layouts](https://nextjs.org/docs/pages/building-your-application/routing/pages-and-layouts): Create your first page and shared layout with the Pages Router.
    - [Dynamic Routes](https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes): Dynamic Routes are pages that allow you to add custom params to your URLs. Start creating Dynamic Routes and learn more here.
    - [Linking and Navigating](https://nextjs.org/docs/pages/building-your-application/routing/linking-and-navigating): Learn how navigation works in Next.js, and how to use the Link Component and `useRouter` hook.
    - [Custom App](https://nextjs.org/docs/pages/building-your-application/routing/custom-app): Control page initialization and add a layout that persists for all pages by overriding the default App component used by Next.js.
    - [Custom Document](https://nextjs.org/docs/pages/building-your-application/routing/custom-document): Extend the default document markup added by Next.js.
    - [API Routes](https://nextjs.org/docs/pages/building-your-application/routing/api-routes): Next.js supports API Routes, which allow you to build your API without leaving your Next.js app. Learn how it works here.
    - [Custom Errors](https://nextjs.org/docs/pages/building-your-application/routing/custom-error): Override and extend the built-in Error page to handle custom errors.
  - [Rendering](https://nextjs.org/docs/pages/building-your-application/rendering): Learn the fundamentals of rendering in React and Next.js.
    - [Server-side Rendering (SSR)](https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering): Use Server-side Rendering to render pages on each request.
    - [Static Site Generation (SSG)](https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation): Use Static Site Generation (SSG) to pre-render pages at build time.
    - [Automatic Static Optimization](https://nextjs.org/docs/pages/building-your-application/rendering/automatic-static-optimization): Next.js automatically optimizes your app to be static HTML whenever possible. Learn how it works here.
    - [Client-side Rendering (CSR)](https://nextjs.org/docs/pages/building-your-application/rendering/client-side-rendering): Learn how to implement client-side rendering in the Pages Router.
  - [Data Fetching](https://nextjs.org/docs/pages/building-your-application/data-fetching): Next.js allows you to fetch data in multiple ways, with pre-rendering, server-side rendering or static-site generation, and incremental static regeneration. Learn how to manage your application data in Next.js.
    - [getStaticProps](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-props): Fetch data and generate static pages with `getStaticProps`. Learn more about this API for data fetching in Next.js.
    - [getStaticPaths](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-static-paths): Fetch data and generate static pages with `getStaticPaths`. Learn more about this API for data fetching in Next.js.
    - [Forms and Mutations](https://nextjs.org/docs/pages/building-your-application/data-fetching/forms-and-mutations): Learn how to handle form submissions and data mutations with Next.js.
    - [getServerSideProps](https://nextjs.org/docs/pages/building-your-application/data-fetching/get-server-side-props): Fetch data on each request with `getServerSideProps`.
    - [Client-side Fetching](https://nextjs.org/docs/pages/building-your-application/data-fetching/client-side): Learn about client-side data fetching, and how to use SWR, a data fetching React Hook library that handles caching, revalidation, focus tracking, refetching on interval and more.
  - [Configuring](https://nextjs.org/docs/pages/building-your-application/configuring): Learn how to configure your Next.js application.
    - [Error Handling](https://nextjs.org/docs/pages/building-your-application/configuring/error-handling): Handle errors in your Next.js app.

- [API Reference](https://nextjs.org/docs/pages/api-reference): Next.js API Reference for the Pages Router.
  - [Components](https://nextjs.org/docs/pages/api-reference/components): API Reference for Next.js built-in components in the Pages Router.
    - [Font](https://nextjs.org/docs/pages/api-reference/components/font): API Reference for the Font Module
    - [Form](https://nextjs.org/docs/pages/api-reference/components/form): Learn how to use the `<Form>` component to handle form submissions and search params updates with client-side navigation.
    - [Head](https://nextjs.org/docs/pages/api-reference/components/head): Add custom elements to the `head` of your page with the built-in Head component.
    - [Image](https://nextjs.org/docs/pages/api-reference/components/image): Optimize Images in your Next.js Application using the built-in `next/image` Component.
    - [Image (Legacy)](https://nextjs.org/docs/pages/api-reference/components/image-legacy): Backwards compatible Image Optimization with the Legacy Image component.
    - [Link](https://nextjs.org/docs/pages/api-reference/components/link): API reference for the `<Link>` component.
    - [Script](https://nextjs.org/docs/pages/api-reference/components/script): Optimize third-party scripts in your Next.js application using the built-in `next/script` Component.
  - [File-system conventions](https://nextjs.org/docs/pages/api-reference/file-conventions): API Reference for Next.js file-system conventions.
    - [instrumentation.js](https://nextjs.org/docs/pages/api-reference/file-conventions/instrumentation): API reference for the instrumentation.js file.
    - [Proxy](https://nextjs.org/docs/pages/api-reference/file-conventions/proxy): Learn how to use Proxy to run code before a request is completed.
    - [public](https://nextjs.org/docs/pages/api-reference/file-conventions/public-folder): Next.js allows you to serve static files, like images, in the public directory. You can learn how it works here.
    - [src Directory](https://nextjs.org/docs/pages/api-reference/file-conventions/src-folder): Save pages under the `src` folder as an alternative to the root `pages` directory.
  - [Functions](https://nextjs.org/docs/pages/api-reference/functions): API Reference for Functions and Hooks in Pages Router.
    - [getInitialProps](https://nextjs.org/docs/pages/api-reference/functions/get-initial-props): Fetch dynamic data on the server for your React component with getInitialProps.
    - [getServerSideProps](https://nextjs.org/docs/pages/api-reference/functions/get-server-side-props): API reference for `getServerSideProps`. Learn how to fetch data on each request with Next.js.
    - [getStaticPaths](https://nextjs.org/docs/pages/api-reference/functions/get-static-paths): API reference for `getStaticPaths`. Learn how to fetch data and generate static pages with `getStaticPaths`.
    - [getStaticProps](https://nextjs.org/docs/pages/api-reference/functions/get-static-props): API reference for `getStaticProps`. Learn how to use `getStaticProps` to generate static pages with Next.js.
    - [NextRequest](https://nextjs.org/docs/pages/api-reference/functions/next-request): API Reference for NextRequest.
    - [NextResponse](https://nextjs.org/docs/pages/api-reference/functions/next-response): API Reference for NextResponse.
    - [useParams](https://nextjs.org/docs/pages/api-reference/functions/use-params): API Reference for the useParams hook in the Pages Router.
    - [useReportWebVitals](https://nextjs.org/docs/pages/api-reference/functions/use-report-web-vitals): useReportWebVitals
    - [useRouter](https://nextjs.org/docs/pages/api-reference/functions/use-router): Learn more about the API of the Next.js Router, and access the router instance in your page with the useRouter hook.
    - [useSearchParams](https://nextjs.org/docs/pages/api-reference/functions/use-search-params): API Reference for the useSearchParams hook in the Pages Router.
    - [userAgent](https://nextjs.org/docs/pages/api-reference/functions/userAgent): The userAgent helper extends the Web Request API with additional properties and methods to interact with the user agent object from the request.
  - [Configuration](https://nextjs.org/docs/pages/api-reference/config): Learn how to configure your Next.js application.
    - [next.config.js Options](https://nextjs.org/docs/pages/api-reference/config/next-config-js): Learn about the options available in next.config.js for the Pages Router.
      - [experimental.adapterPath](https://nextjs.org/docs/pages/api-reference/config/next-config-js/adapterPath): Configure a custom adapter for Next.js to hook into the build process with modifyConfig and buildComplete callbacks.
      - [allowedDevOrigins](https://nextjs.org/docs/pages/api-reference/config/next-config-js/allowedDevOrigins): Use `allowedDevOrigins` to configure additional origins that can request the dev server.
      - [assetPrefix](https://nextjs.org/docs/pages/api-reference/config/next-config-js/assetPrefix): Learn how to use the assetPrefix config option to configure your CDN.
      - [basePath](https://nextjs.org/docs/pages/api-reference/config/next-config-js/basePath): Use `basePath` to deploy a Next.js application under a sub-path of a domain.
      - [bundlePagesRouterDependencies](https://nextjs.org/docs/pages/api-reference/config/next-config-js/bundlePagesRouterDependencies): Enable automatic dependency bundling for Pages Router
      - [compress](https://nextjs.org/docs/pages/api-reference/config/next-config-js/compress): Next.js provides gzip compression to compress rendered content and static files, it only works with the server target. Learn more about it here.
      - [crossOrigin](https://nextjs.org/docs/pages/api-reference/config/next-config-js/crossOrigin): Use the `crossOrigin` option to add a crossOrigin tag on the `script` tags generated by `next/script` and `next/head`.
      - [deploymentId](https://nextjs.org/docs/pages/api-reference/config/next-config-js/deploymentId): Configure a deployment identifier used for version skew protection and cache busting.
      - [devIndicators](https://nextjs.org/docs/pages/api-reference/config/next-config-js/devIndicators): Optimized pages include an indicator to let you know if it's being statically optimized. You can opt-out of it here.
      - [distDir](https://nextjs.org/docs/pages/api-reference/config/next-config-js/distDir): Set a custom build directory to use instead of the default .next directory.
      - [env](https://nextjs.org/docs/pages/api-reference/config/next-config-js/env): Learn to add and access environment variables in your Next.js application at build time.
      - [exportPathMap](https://nextjs.org/docs/pages/api-reference/config/next-config-js/exportPathMap): Customize the pages that will be exported as HTML files when using `next export`.
      - [generateBuildId](https://nextjs.org/docs/pages/api-reference/config/next-config-js/generateBuildId): Configure the build id, which is used to identify the current build in which your application is being served.
      - [generateEtags](https://nextjs.org/docs/pages/api-reference/config/next-config-js/generateEtags): Next.js will generate etags for every page by default. Learn more about how to disable etag generation here.
      - [headers](https://nextjs.org/docs/pages/api-reference/config/next-config-js/headers): Add custom HTTP headers to your Next.js app.
      - [httpAgentOptions](https://nextjs.org/docs/pages/api-reference/config/next-config-js/httpAgentOptions): Next.js will automatically use HTTP Keep-Alive by default. Learn more about how to disable HTTP Keep-Alive here.
      - [images](https://nextjs.org/docs/pages/api-reference/config/next-config-js/images): Custom configuration for the next/image loader
      - [isolatedDevBuild](https://nextjs.org/docs/pages/api-reference/config/next-config-js/isolatedDevBuild): Use isolated directories for development builds to prevent conflicts with production builds.
      - [onDemandEntries](https://nextjs.org/docs/pages/api-reference/config/next-config-js/onDemandEntries): Configure how Next.js will dispose and keep in memory pages created in development.
      - [optimizePackageImports](https://nextjs.org/docs/pages/api-reference/config/next-config-js/optimizePackageImports): API Reference for optimizePackageImports Next.js Config Option
      - [output](https://nextjs.org/docs/pages/api-reference/config/next-config-js/output): Next.js automatically traces which files are needed by each page to allow for easy deployment of your application. Learn how it works here.
      - [pageExtensions](https://nextjs.org/docs/pages/api-reference/config/next-config-js/pageExtensions): Extend the default page extensions used by Next.js when resolving pages in the Pages Router.
      - [poweredByHeader](https://nextjs.org/docs/pages/api-reference/config/next-config-js/poweredByHeader): Next.js will add the `x-powered-by` header by default. Learn to opt-out of it here.
      - [productionBrowserSourceMaps](https://nextjs.org/docs/pages/api-reference/config/next-config-js/productionBrowserSourceMaps): Enables browser source map generation during the production build.
      - [experimental.proxyClientMaxBodySize](https://nextjs.org/docs/pages/api-reference/config/next-config-js/proxyClientMaxBodySize): Configure the maximum request body size when using proxy.
      - [reactStrictMode](https://nextjs.org/docs/pages/api-reference/config/next-config-js/reactStrictMode): The complete Next.js runtime is now Strict Mode-compliant, learn how to opt-in
      - [redirects](https://nextjs.org/docs/pages/api-reference/config/next-config-js/redirects): Add redirects to your Next.js app.
      - [rewrites](https://nextjs.org/docs/pages/api-reference/config/next-config-js/rewrites): Add rewrites to your Next.js app.
      - [serverExternalPackages](https://nextjs.org/docs/pages/api-reference/config/next-config-js/serverExternalPackages): Opt-out specific dependencies from the dependency bundling enabled by `bundlePagesRouterDependencies`.
      - [trailingSlash](https://nextjs.org/docs/pages/api-reference/config/next-config-js/trailingSlash): Configure Next.js pages to resolve with or without a trailing slash.
      - [transpilePackages](https://nextjs.org/docs/pages/api-reference/config/next-config-js/transpilePackages): Automatically transpile and bundle dependencies from local packages (like monorepos) or from external dependencies (`node_modules`).
      - [turbopack](https://nextjs.org/docs/pages/api-reference/config/next-config-js/turbopack): Configure Next.js with Turbopack-specific options
      - [typescript](https://nextjs.org/docs/pages/api-reference/config/next-config-js/typescript): Next.js reports TypeScript errors by default. Learn to opt-out of this behavior here.
      - [urlImports](https://nextjs.org/docs/pages/api-reference/config/next-config-js/urlImports): Configure Next.js to allow importing modules from external URLs.
      - [useLightningcss](https://nextjs.org/docs/pages/api-reference/config/next-config-js/useLightningcss): Enable experimental support for Lightning CSS.
      - [webpack](https://nextjs.org/docs/pages/api-reference/config/next-config-js/webpack): Learn how to customize the webpack config used by Next.js
      - [webVitalsAttribution](https://nextjs.org/docs/pages/api-reference/config/next-config-js/webVitalsAttribution): Learn how to use the webVitalsAttribution option to pinpoint the source of Web Vitals issues.
    - [TypeScript](https://nextjs.org/docs/pages/api-reference/config/typescript): Next.js provides a TypeScript-first development experience for building your React application.
    - [ESLint](https://nextjs.org/docs/pages/api-reference/config/eslint): Next.js reports ESLint errors and warnings during builds by default. Learn how to opt-out of this behavior here.
  - [CLI](https://nextjs.org/docs/pages/api-reference/cli): API Reference for the Next.js Command Line Interface (CLI) tools.
    - [create-next-app CLI](https://nextjs.org/docs/pages/api-reference/cli/create-next-app): Create Next.js apps using one command with the create-next-app CLI.
    - [next CLI](https://nextjs.org/docs/pages/api-reference/cli/next): Learn how to run and build your application with the Next.js CLI.
  - [Edge Runtime](https://nextjs.org/docs/pages/api-reference/edge): API Reference for the Edge Runtime.
  - [Turbopack](https://nextjs.org/docs/pages/api-reference/turbopack): Turbopack is an incremental bundler optimized for JavaScript and TypeScript, written in Rust, and built into Next.js.

- [Architecture](https://nextjs.org/docs/architecture): How Next.js Works
  - [Accessibility](https://nextjs.org/docs/architecture/accessibility): The built-in accessibility features of Next.js.
  - [Fast Refresh](https://nextjs.org/docs/architecture/fast-refresh): Fast Refresh is a hot module reloading experience that gives you instantaneous feedback on edits made to your React components.
  - [Next.js Compiler](https://nextjs.org/docs/architecture/nextjs-compiler): Next.js Compiler, written in Rust, which transforms and minifies your Next.js application.
  - [Supported Browsers](https://nextjs.org/docs/architecture/supported-browsers): Browser support and which JavaScript features are supported by Next.js.

- [Community](https://nextjs.org/docs/community): Get involved in the Next.js community.
  - [Contribution Guide](https://nextjs.org/docs/community/contribution-guide): Learn how to contribute to Next.js Documentation
  - [Rspack](https://nextjs.org/docs/community/rspack): Use the `next-rspack` plugin to bundle your Next.js with Rspack.

    