An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.





GitHub Stars



Last Commit

15d ago








Type Definitions





Average Rating

Read All Reviews

Top Feedback

5Great Documentation
5Easy to Use
2Highly Customizable
1Bleeding Edge
1Responsive Maintainers


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 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 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 The source code for https://docs.expo.io
  • templates The template projects you get when you run expo start
  • 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 In-depth tutorials for advanced topics like contributing to the client.
  • android contains the Android project.
  • home contains the JavaScript source code of the app.
  • ios contains the iOS project.
  • ios/Exponent.xcworkspace is the Xcode workspace. Always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
  • tools contains build and configuration tools.
  • 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 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

[![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.io/client)

[![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.io/client)

👏 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 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.

Rate & Review

Great Documentation5
Easy to Use5
Highly Customizable2
Bleeding Edge1
Responsive Maintainers1
Poor Documentation0
Hard to Use0
Unwelcoming Community0
Manisha43 Ratings72 Reviews
9 months ago
Highly Customizable
Easy to Use
Bleeding Edge

i used this library for my internal project and this library really help me for code faster and help me to save my time too. my experience with this library is pretty good and smooth. this library give your expo react-native app access to contact link on mobile phones and this is really help ful feature for me and using this library i can easily implement this feature into my react-native app

Vibhu GautamNoida40 Ratings41 Reviews
20 days ago

I’m currently using this package in my react-native application; it helps us to access the device system contacts as well as making changes in that also. I’m using this feature to add people in a room using the Expo-contacts library, and it’s working like a charm. It’s easy to use and have a great documentation also.

Vishal Pratap SinghIndia51 Ratings52 Reviews
👨‍💻 I'm just a curious creature, intrigued by the web. 🏫 I also educate thousands on Instagram.
9 months ago
Great Documentation
Easy to Use
Responsive Maintainers

There are many scenarios where I want to know about the contacts in my device so this library helped me in getting the contact details. The best part is that we can edit, delete or add new contacts through this. The permission must be granted by the user for using this. After all, we already know how powerful is expo and so is this package.

Prashant Singh ThakurRanchi15 Ratings15 Reviews
7 months ago

This package always helped me whenever i want to use or integrate contact details in my react native application. Along with expo it makes a huge impact for writing the codes for the contact implementation. The best part is add we can implement new contact or editing contact or deletig an existing contact if proper permissions are given.

sahebrao7268 Ratings76 Reviews
8 months ago
Great Documentation
Easy to Use

Excellent Library for React-Native for accessing device contact list. I've used this library in my recent project and work amazing. it easy to use and easy to implement in react-app. with great community support and great documentation



No tutorials found
Add a tutorial