create-next-app
The easiest way to get started with Next.js is by using create-next-app
. This CLI tool enables you to quickly start building a new Next.js application, with everything set up for you.
You can create a new app using the default Next.js template, or by using one of the official Next.js examples.
Interactive​
You can create a new project interactively by running:
npx create-next-app@latest
yarn create next-app
pnpm create next-app
bun create next-app
You will then be asked the following prompts:
What is your project named? my-app
Would you like to use TypeScript? No / Yes
Would you like to use ESLint? No / Yes
Would you like to use Tailwind CSS? No / Yes
Would you like your code inside a `src/` directory? No / Yes
Would you like to use App Router? (recommended) No / Yes
Would you like to use Turbopack for `next dev`? No / Yes
Would you like to customize the import alias (`@/*` by default)? No / Yes
Once you've answered the prompts, a new project will be created with the correct configuration depending on your answers.
Non-interactive​
You can also pass command line arguments to set up a new project non-interactively.
Further, you can negate default options by prefixing them with --no-
(e.g. --no-eslint
).
See create-next-app --help
:
Usage: create-next-app [project-directory] [options]
Options:
-V, --version output the version number
--ts, --typescript
Initialize as a TypeScript project. (default)
--js, --javascript
Initialize as a JavaScript project.
--tailwind
Initialize with Tailwind CSS config. (default)
--eslint
Initialize with ESLint config.
--app
Initialize as an App Router project.
--src-dir
Initialize inside a `src/` directory.
--turbo
Enable Turbopack by default for development.
--import-alias <alias-to-configure>
Specify import alias to use (default "@/*").
--empty
Initialize an empty project.
--use-npm
Explicitly tell the CLI to bootstrap the application using npm
--use-pnpm
Explicitly tell the CLI to bootstrap the application using pnpm
--use-yarn
Explicitly tell the CLI to bootstrap the application using Yarn
--use-bun
Explicitly tell the CLI to bootstrap the application using Bun
-e, --example [name]|[github-url]
An example to bootstrap the app with. You can use an example name
from the official Next.js repo or a GitHub URL. The URL can use
any branch and/or subdirectory
--example-path <path-to-example>
In a rare case, your GitHub URL might contain a branch name with
a slash (e.g. bug/fix-1) and the path to the example (e.g. foo/bar).
In this case, you must specify the path to the example separately:
--example-path foo/bar
--reset-preferences
Explicitly tell the CLI to reset any stored preferences
--skip-install
Explicitly tell the CLI to skip installing packages
--yes
Use previous preferences or defaults for all options that were not
explicitly specified, without prompting.
-h, --help display help for command
Why use Create Next App?​
create-next-app
allows you to create a new Next.js app within seconds. It is officially maintained by the creators of Next.js, and includes a number of benefits:
- Interactive Experience: Running
npx create-next-app@latest
(with no arguments) launches an interactive experience that guides you through setting up a project. - Zero Dependencies: Initializing a project is as quick as one second. Create Next App has zero dependencies.
- Offline Support: Create Next App will automatically detect if you're offline and bootstrap your project using your local package cache.
- Support for Examples: Create Next App can bootstrap your application using an example from the Next.js examples collection (e.g.
npx create-next-app --example api-routes
) or any public GitHub repository. - Tested: The package is part of the Next.js monorepo and tested using the same integration test suite as Next.js itself, ensuring it works as expected with every release.