---
title: Getting Started
description: Learn how to create full-stack web applications with the Next.js App Router.
url: "https://nextjs.org/docs/app/getting-started"
version: 16.2.2
lastUpdated: 2026-04-02
---


Welcome to the Next.js documentation!

This **Getting Started** section will help you create your first Next.js app and learn the core features you'll use in every project.

## Pre-requisite knowledge

Our documentation assumes some familiarity with web development. Before getting started, it'll help if you're comfortable with:

* HTML
* CSS
* JavaScript
* React

If you're new to React or need a refresher, we recommend starting with our [React Foundations course](/learn/react-foundations), and the [Next.js Foundations course](/learn/dashboard-app) that has you building an application as you learn.

## Next Steps

- [Installation](/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](/docs/app/getting-started/project-structure)
  - Learn the folder and file conventions in Next.js, and how to organize your project.
- [Layouts and Pages](/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](/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](/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.
- [Fetching Data](/docs/app/getting-started/fetching-data)
  - Learn how to fetch data and stream content that depends on data.
- [Mutating Data](/docs/app/getting-started/mutating-data)
  - Learn how to mutate data using Server Functions and Server Actions in Next.js.
- [Caching](/docs/app/getting-started/caching)
  - Learn how to cache data and UI in Next.js
- [Revalidating](/docs/app/getting-started/revalidating)
  - Learn how to revalidate cached data using time-based and on-demand strategies.
- [Error Handling](/docs/app/getting-started/error-handling)
  - Learn how to display expected errors and handle uncaught exceptions.
- [CSS](/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](/docs/app/getting-started/images)
  - Learn how to optimize images in Next.js
- [Font Optimization](/docs/app/getting-started/fonts)
  - Learn how to optimize fonts in Next.js
- [Metadata and OG images](/docs/app/getting-started/metadata-and-og-images)
  - Learn how to add metadata to your pages and create dynamic OG images.
- [Route Handlers](/docs/app/getting-started/route-handlers)
  - Learn how to use Route Handlers
- [Proxy](/docs/app/getting-started/proxy)
  - Learn how to use Proxy
- [Deploying](/docs/app/getting-started/deploying)
  - Learn how to deploy your Next.js application.
- [Upgrading](/docs/app/getting-started/upgrading)
  - Learn how to upgrade your Next.js application to the latest version or canary.

---

For a semantic overview of all documentation, see [/docs/sitemap.md](/docs/sitemap.md)

For an index of all available documentation, see [/docs/llms.txt](/docs/llms.txt)