An open-source platform for making universal native apps with React. Expo r...


expo sdk


Expo SDK version Forums Discord License: MIT Downloads

Try Expo in the Browser

Read the Documentation 📚

Twitter: expo Medium: exposition


Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript. This repository is where the Expo client software is developed, and includes the client apps, modules, apps, and more. The Expo CLI repository contains the Expo development tools.

Click here to view the Expo Community Guidelines. Thank you for helping keep the Expo community open and welcoming!

📚 Documentation

Learn about building and deploying universal apps in our official docs!

🗺 Project Layout

- [packages](/packages) All the source code for the Unimodules, if you want to edit a library or just see how it works this is where you'll find it.
- [apps](/apps) This is where you can find Expo projects which are linked to the development Unimodules. You'll do most of your testing in here.
- [docs](/docs) The source code for https://docs.expo.dev
- [templates](/templates) The template projects you get when you run expo start
- [react-native-lab](/react-native-lab) This is our fork of react-native. We keep this very close to the upstream but sometimes need to add quick fixes locally before they can land.
- [guides](/guides) In-depth tutorials for advanced topics like contributing to the client.
- [android](/android) contains the Android project.
- [home](/home) contains the JavaScript source code of the app.
- [ios](/ios) contains the iOS project.
- [ios/Exponent.xcworkspace](/ios) is the Xcode workspace. Always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
- [tools](/tools) contains build and configuration tools.
- [template-files](/template-files) contains templates for files that require private keys. They are populated using the keys in template-files/keys.json.
- [template-files/ios/dependencies.json](/template-files/ios/dependencies.json) specifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in the _Expo Go_ app!

runs with Expo Go
runs with Expo Go

  1. ```md [![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)
  2. [![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)
  3. ```

👏 Contributing

If you like Expo and want to help make it better then check out our contributing guide! Check out the Expo CLI repo to work on the Expo CLI, and various other universal development tools.


If you have questions about Expo and want answers, then check out our Frequently Asked Questions!

If you still have questions you can ask them on our forums, Discord or on Twitter @Expo.

💙 The Team

Curious about who makes Expo? Here are our team members!


The Expo source code is made available under the MIT license. Some of the dependencies are licensed differently, with the BSD license, for example.