This quickstart uses Expo Go, which means you don’t need to install Xcode or Android Studio. For custom native code, see Development Builds.
Prerequisites
Before starting, make sure you have:- Node.js 18+ installed (nodejs.org)
- A code editor (VS Code recommended)
- A mobile device OR iOS Simulator / Android Emulator
Create a new app
Open your terminal and run:This creates a new Expo project with a working app template. The command will:
- Create a
my-appdirectory - Install all required dependencies
- Set up the project structure with Expo Router
What gets created?
What gets created?
Start the development server
Start the Expo development server:You’ll see a QR code in your terminal and output like this:
The development server uses Metro bundler to compile your JavaScript and serve it to your app.
Open on your device
On your phone
- Install Expo Go on your device:
-
Scan the QR code:
- iOS: Use the Camera app
- Android: Use the Expo Go app
Using a simulator
iOS Simulator (Mac only):Pressi in the terminal. Expo will:- Open Xcode Simulator automatically
- Install Expo Go if needed
- Launch your app
a in the terminal. Make sure you have an Android emulator running first.Web Browser:Press w to open in your default browser.What Just Happened?
Congratulations! You just:- Created a new Expo app with Expo Router for navigation
- Started a development server with Metro bundler
- Opened your app on a device or simulator
- Made a change and saw it update in real-time
Understanding Your Project
File-Based Routing
Your app uses Expo Router for navigation. Files in theapp/ directory automatically become routes:
Link component:
Key Files
app.json - App Configuration
app.json - App Configuration
Controls your app’s settings:
app.json
package.json - Dependencies
package.json - Dependencies
Lists your app’s dependencies and scripts:
package.json
Development Commands
Interactive Terminal
When the dev server is running, press:a- Open on Android emulatori- Open on iOS simulatorw- Open in web browserr- Reload the appm- Toggle developer menuj- Open React DevTools (web)c- Show project QR code
Common Issues
Can't scan QR code
Can't scan QR code
Make sure your phone and computer are on the same WiFi network. If using a corporate network, try:This uses a public URL that works on any network.
Port already in use
Port already in use
The default port (8081) is taken. Try:
iOS Simulator won't open
iOS Simulator won't open
Make sure Xcode is installed:Then try running the simulator first:
Metro bundler errors
Metro bundler errors
Clear the cache and restart:
Next Steps
Learn Core Concepts
Understand how Expo works under the hood
Follow the Tutorial
Build a complete app step-by-step
Explore the SDK
Browse 100+ native modules for camera, location, notifications, and more
Complete Installation
Set up for production builds with Xcode and Android Studio