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
- Node.js (LTS).
- macOS, Windows (Powershell and WSL 2), and Linux are supported.
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:
- npx create-expo-app@latest --template default@sdk-57Note: During the SDK 57 transition period,
create-expo-app@latestwithout the--templateflag 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-57to create an SDK 57 project. You can also choose a different template by adding the--templateoption.
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:
- npx create-expo-app@latest --exampleTo create a known example directly, pass its name:
- npx create-expo-app@latest --example with-widgetsThe 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.