← BACK
N
Next.js 15 · React 19 · Turbopack

The
fastest
way to build
with Next.js.

One command scaffolds TypeScript, ESLint, Tailwind CSS, and the App Router — configured correctly, ready to ship.

$npx create-next-app@latest
✓ Free & open source✓ MIT license✓ Node 18.18+
Terminal — zsh
0M+weekly downloads
0K+GitHub stars
0sscaffold time
TypeScript Tailwind CSS ESLint App Router Turbopack React 19 Server Components Server Actions Streaming Edge Runtime Image Optimization Font Optimization Middleware ISR PPR TypeScript Tailwind CSS ESLint App Router Turbopack React 19 Server Components Server Actions Streaming Edge Runtime
Getting Started

Four steps.
Running app.

01

Run the command

One command, no global install required. npx fetches the latest version of create-next-app every time — you always scaffold with the current release.

npx create-next-app@latest
02

Answer the prompts

TypeScript, Tailwind, ESLint, App Router. Pick your tools interactively. Every choice is reversible — it's just config files you can edit at any time.

? TypeScript  … Yes
? Tailwind    … Yes
? App Router  … Yes
03

Open the editor

cd into your project. Every dependency is installed, every config is set up, and you'll find a working starter page waiting for you in app/page.tsx.

cd my-app
code .
04

Ship it

Push to GitHub, connect to Vercel, done. Your app deploys to a global edge network in under 30 seconds — no infra to manage, ever.

git push origin main
# Vercel deploys automatically
What's Included

Configured.
Not opinionated.

create-next-app sets up tools. It doesn't choose your architecture, state management, or component library. Those decisions are yours.

Layouts, loading states, and server components — wired up by default.

The App Router is the present and future of Next.js routing. create-next-app scaffolds the /app directory, root layout, and a starter page.tsx so you can skip the boilerplate and focus on what you're building.

app/layout.tsx
// app/layout.tsx
export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body>{children}</body>
    </html>
  )
}
Project Structure

A layout that
makes sense.

Every file has a home. The App Router collocates your UI, data fetching logic, loading states, and error boundaries in the same folder — keeping your codebase navigable as it grows.

app/Routes, layouts, pages, server components
app/api/API route handlers (GET, POST, etc.)
components/Reusable UI components
lib/Utilities, db clients, auth helpers
public/Static assets (images, fonts, favicons)
my-app
📁app/
├─layout.tsx
├─page.tsx
├─globals.css
└─api/route.ts
📁components/
📁lib/
📁public/
next.config.ts
tailwind.config.ts
tsconfig.json
package.json
Official Examples

Start from a
working pattern.

450+ official examples in the Next.js repo. Each is a complete, working app you can scaffold in one command.

Blog

MDX, dynamic routes, RSS feed, syntax highlighting.

$--example blog
Auth (NextAuth)

OAuth providers, JWT sessions, protected routes.

$--example with-nextauth
Prisma + DB

Postgres, schema, migrations, server actions.

$--example with-prisma
Stripe Payments

Checkout, webhooks, subscription billing.

$--example with-stripe-typescript
Turborepo

Monorepo workspace, shared packages, build pipeline.

$--example with-turborepo
i18n

Locale routing, translations, dynamic segments.

$--example app-dir-i18n-routing
CLI Reference

Every flag,
explained simply.

--typescript

Use TypeScript (default)

--javascript

Use JavaScript instead

--tailwind

Add Tailwind CSS config

--eslint

Add ESLint config

--app

Use the App Router

--src-dir

Use a /src directory

--turbopack

Enable Turbopack dev server

--import-alias

Set custom import alias

--example [name]

Start from official example

--empty

Minimal scaffold only

--skip-install

Skip npm install step

--use-pnpm

Use pnpm as package manager

Deploy

Push to GitHub.
You're live.

create-next-app projects are pre-configured for Vercel. Connect your repo once — every push to main deploys automatically to a global edge network. Preview URLs on every branch.

vercel — deploy output
$ git push origin main

  Vercel CLI deploying...

  ✓  Detected Next.js 15
  ✓  Build completed  [4.2s]
  ✓  Generated 14 static pages
  ✓  Edge functions deployed

  Preview: my-app-abc123.vercel.app
  Production: my-app.vercel.app

  ✓  Deployed in 11.8s
FAQ

Good
questions.

More answers in the official docs at nextjs.org.

Read the docs →

Node.js 18.18 or later is required. We recommend using the latest LTS release. You can check your version with node --version, and use nvm or fnm to switch versions.

New projects should use the App Router (--app flag, which is the default). It supports React Server Components, streaming, nested layouts, and parallel routes. The Pages Router is fully supported but won't receive new features.

The default scaffold includes a starter page.tsx with the Next.js logo and some example CSS. --empty creates a truly minimal project — just the config files and a blank page.tsx with a single div. Great for starting from absolute zero.

Yes. Pass --use-pnpm, --use-yarn, or --use-bun to the command. create-next-app will install dependencies with your chosen package manager and configure the lockfile accordingly.

Run npm install next@latest react@latest react-dom@latest in your project directory. Then check the Next.js upgrade guide at nextjs.org/docs/upgrading for any codemods or breaking changes in the specific version you're jumping to.

That's it. One command.

Start your next
Next.js project.

$npx create-next-app@latest

Free. MIT. Maintained by Vercel.