
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
expo-image-picker
Advanced tools
Provides access to the system's UI for selecting images and videos from the phone's library or taking a photo with the camera.
Provides access to the system's UI for selecting images and videos from the phone's library or taking a photo with the camera.
For managed Expo projects, please follow the installation instructions in the API documentation for the latest stable release.
For bare React Native projects, you must ensure that you have installed and configured the expo package before continuing.
npx expo install expo-image-picker
This is only required for usage in bare React Native apps.
This package automatically adds the CAMERA, READ_EXTERNAL_STORAGE, and WRITE_EXTERNAL_STORAGE permissions. They are used when picking images from the camera directly, or from the camera roll.
<!-- Added permissions -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
This is only required for usage in bare React Native apps.
Add NSPhotoLibraryUsageDescription, NSCameraUsageDescription, and NSMicrophoneUsageDescription keys to your Info.plist:
<key>NSPhotoLibraryUsageDescription</key>
<string>Give $(PRODUCT_NAME) permission to save photos</string>
<key>NSCameraUsageDescription</key>
<string>Give $(PRODUCT_NAME) permission to access your camera</string>
<key>NSMicrophoneUsageDescription</key>
<string>Give $(PRODUCT_NAME) permission to use your microphone</string>
Run npx pod-install after installing the npm package.
This plugin is applied automatically in EAS Build, only add the config plugin if you want to pass in extra properties.
After installing this npm package, add the config plugin to the plugins array of your app.json or app.config.js:
{
"expo": {
"plugins": ["expo-image-picker"]
}
}
Next, rebuild your app as described in the "Adding custom native code" guide.
The plugin provides props for extra customization. Every time you change the props or plugins, you'll need to rebuild (and prebuild) the native app. If no extra properties are added, defaults will be used.
photosPermission (string | false): Sets the iOS NSPhotoLibraryUsageDescription permission message to the Info.plist. Setting false will skip adding the permission on iOS and does not skip the permission on Android. Defaults to Allow $(PRODUCT_NAME) to access your photos.cameraPermission (string | false): Sets the iOS NSCameraUsageDescription permission message to the Info.plist. Setting false will skip adding the permission on iOS and does not skip the permission on Android. Defaults to Allow $(PRODUCT_NAME) to access your camera.microphonePermission (string | false): Sets the iOS NSCameraUsageDescription permission message to the Info.plist. Setting false will skip adding the permission on iOS and skips adding the android.permission.RECORD_AUDIO Android permission. Defaults to Allow $(PRODUCT_NAME) to access your photos.{
"expo": {
"plugins": [
[
"expo-image-picker",
{
"photosPermission": "custom photos permission",
"cameraPermission": "Allow $(PRODUCT_NAME) to open the camera",
"//": "Disables the microphone permission",
"microphonePermission": false
}
]
]
}
}
Contributions are very welcome! Please refer to guidelines described in the contributing guide.
FAQs
Provides access to the system's UI for selecting images and videos from the phone's library or taking a photo with the camera.
The npm package expo-image-picker receives a total of 1,323,859 weekly downloads. As such, expo-image-picker popularity was classified as popular.
We found that expo-image-picker demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 12 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.