Cross-platform capabilities
43 Expo SDK modules that work across Android, iOS, and Web — one codebase, three platforms.
Features
User-facing interactions — media, UI controls, and device capabilities your users see and touch.
| Capability | Summary | Docs |
|---|---|---|
| Audio | Audio playback and recording in apps | View |
| Camera | A React component that renders a preview for the device's camera | View |
| Clipboard | Getting and setting Clipboard content | View |
| DocumentPicker | System's UI for selecting documents from available providers | View |
| Haptics | System's vibration effects on Android, haptics engine on iOS, and Web Vibration API | View |
| Image | A cross-platform and performant React component that loads and renders images | View |
| ImagePicker | Access to the system's UI for selecting images and videos | View |
| Location | Reading geolocation information from the device | View |
| MailComposer | Compose and send emails with the system's specific UI | View |
| Printing functionality for Android and iOS (AirPrint) | View | |
| Sharing | Sharing and receiving data from other apps | View |
| Speech | Text-to-speech functionality | View |
| Video | Video playback in apps | View |
| WebBrowser | Access to the system's web browser with redirect handling | View |
Components
Ready-made UI building blocks — drop-in React components for common interface elements.
| Capability | Summary | Docs |
|---|---|---|
| BlurView | A React component that blurs everything underneath the view | View |
| Checkbox | A universal React component that provides basic checkbox functionality | View |
| FlashList | Fast and performant way to render lists | View |
| LinearGradient | A universal React component that renders a gradient view | View |
| Picker | System UI for picking between several options | View |
| Slider | System UI for a slider control | View |
Foundations
Developer infrastructure — sensors, storage, networking, navigation, and layout primitives.
| Capability | Summary | Docs |
|---|---|---|
| Accelerometer | Access to the device's accelerometer sensor | View |
| Application | Information about the native application at runtime | View |
| Async Storage | Asynchronous, unencrypted, persistent key-value storage | View |
| Battery | Battery information for the physical device | View |
| Constants | System information that remains constant throughout the app's lifetime | View |
| Crypto | Universal library for crypto operations | View |
| Device | Access to system information about the physical device | View |
| DeviceMotion | Access to a device's motion and orientation sensors | View |
| Font | Loading fonts at runtime and using them in React Native components | View |
| Gesture Handler | An API for handling complex gestures | View |
| Gyroscope | Access to the device's gyroscope sensor | View |
| KeepAwake | A React component that prevents the screen from sleeping | View |
| Linking | Methods to create and open deep links universally | View |
| Localization | Interface for native user localization information | View |
| NetInfo | Cross-platform API for network connection information | View |
| Network | Access to the device's network (IP address, MAC address, airplane mode) | View |
| Reanimated | Smooth, powerful, and maintainable animations | View |
| Router | File-based routing for React Native and web applications | View |
| Safe Area Context | Flexible API for accessing device safe area inset information | View |
| Screen Orientation | Managing a device's screen orientation | View |
| SQLite | Database that can be queried through a SQLite API | View |
| StatusBar | Control the app status bar | View |
| SVG | Using SVGs in your app | View |
The Expo logo and wordmark are registered trademarks of 650 Industries, Inc.