The fastest way from an idea to a native experience

Expo is a free and complete workflow for creating next-generation apps for iOS and Android

Build universal native apps with ease

Expo enables you to build universal native apps using only JavaScript. Use your favorite text editor to write powerful React Native components without ever opening Xcode or Android Studio.

In addition to React Native components, you'll have access to the Expo SDK, a library that provides a wide variety of native APIs on iOS and Android. Expo can also manage your assets for you, take care of push notifications, and build your final native binary for submission to the app store.

Read more about the Expo SDK

Native Features

Accelerometer

Access the device accelerometer sensors to respond to changes in device motion in 3d space.

Social Authentication

Enable log in with the Facebook and Google native SDKs, or support any browser-based auth flow.

Camera

Stream a preview of the device Camera capture, save photos, and configure hardware parameters like focus and white balance.

File System

Save and read assets, documents, and other data your users need.

Image Picker

Import and manipulate photos and videos stored on the device, including the shared camera roll.

Location

Build location-aware apps by polling for the current device location or subscribing to location updates.

Native Graphics

Expo includes a WebGL-compatible API called EXGL. Drop in popular JS graphics libraries like THREE.js and take advantage of truly native graphics.

Push Notifications

Send and receive cross-platform push notifications with a few lines of JS.

Your API Here

Advanced users can initialize a bare React Native project and write their own custom native code.

See the full list of native APIs in our docs, including Maps, SQLite, Contacts, Secure Storage, and many more.

One Codebase, Multiple Platforms

  • Unify your team, your workflow, and your codebase around one project.

  • Write React components in JS, render native components on both iOS and Android.

  • Maintain product parity on both platforms.

Leverage the Power of React Native

  • Expo projects are React Native projects.

  • Take advantage of powerful developer tools like Remote Debugging and Hot Module Reloading.

  • Participate in a growing open source community.

Read more about how Expo and React Native work together.

Publish Updates Instantly

  • Build native binaries with our build service.

  • No need to use Xcode or Android Studio.

  • Publish updates over the air whenever you want.

Learn more about the lifecycle of an Expo project.

Get started

Dive in and create your first Expo project.

Learn how