This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

Create a project

Edit page

Learn how to create a new Expo project.


Expo is a React Native framework that makes developing Android and iOS apps easier. Our framework provides file-based routing, a standard library of native modules, and much more. Expo is open source with an active community on GitHub and Discord.

We also make Expo Application Services (EAS), a set of services that complement the Expo framework in each step of the development process.

New to programming? You can build your first Expo app by prompting an AI coding agent instead of writing code. Follow the Build with AI tutorial. It covers setup from scratch.

System requirements

Start with a default project

We recommend starting with the default project created by create-expo-app. The default project includes example code to help you get started.

To create a new project, run the following command:

Terminal
npx create-expo-app@latest --template default@sdk-57

Note: During the SDK 57 transition period, create-expo-app@latest without the --template flag creates an SDK 54 project. If you plan to use Expo Go on a physical device, use an SDK 54 project. Otherwise, use --template default@sdk-57 to create an SDK 57 project. You can also choose a different template by adding the --template option.

Start from an example

Instead of the default project, you can start from one of the Expo examples. These are small apps that each demonstrate a specific feature or integration, such as Expo Router, Expo Widgets, or a camera screen.

To browse the full list and pick one interactively, run create-expo-app with the --example option and no name:

Terminal
npx create-expo-app@latest --example

To create a known example directly, pass its name:

Terminal
npx create-expo-app@latest --example with-widgets
The rest of the guides in this "Get started" section follows the default project. An example app may be organized differently but the concepts are the same.

Next step

You have a project. Now it's time to set up your development environment so that you can start developing.