Use expo-image-picker if you're using Expo.
Anything that requires the use of react-native link will not work with Expo, unless stated that it is already included in Expo.
EDIT for 2025:
react-native link is not required in newer versions of react native because of auto linking. Also, Expo supports nearly every package requiring native code, including react-native-image-picker. You can use either in your project regardless of whether you're using Expo or not, but keep in mind that generally Expo libraries are more likely to be well maintained than community equivalents because Expo is a company with salaried developers being paid to maintain the library.
But there are cases where an Expo library may not do what you want so in those cases it may make sense to use a community solution
Answer from Zaytri on Stack Overflowreact-native-image-picker vs expo ImagePicker - Stack Overflow
Image Picker in Expo-React Native
Multiple Image Picker for Expo
Is React Native Image Picker 💀?
Videos
» npm install expo-image-picker
Use expo-image-picker if you're using Expo.
Anything that requires the use of react-native link will not work with Expo, unless stated that it is already included in Expo.
EDIT for 2025:
react-native link is not required in newer versions of react native because of auto linking. Also, Expo supports nearly every package requiring native code, including react-native-image-picker. You can use either in your project regardless of whether you're using Expo or not, but keep in mind that generally Expo libraries are more likely to be well maintained than community equivalents because Expo is a company with salaried developers being paid to maintain the library.
But there are cases where an Expo library may not do what you want so in those cases it may make sense to use a community solution
I was stuck with the same issue, and now I have resolved this. React native cli and expo cli both have some package differences. Similarly image-picker for both works differently.
For expo cli, you can check the documentation here: https://docs.expo.io/versions/latest/sdk/imagepicker/#__next
You can try for uploading image via camera using ImagePicker.launchCameraAsync and from photo library using ImagePicker.launchImageLibraryAsync.
While in react-native cli I was able to write a single function to choose from both camera and photo library but could not find a way for the same in expo yet.
Image Picker in Expo-React Native
I am using expo-image-picker ~16.0.6 version, when I use the below code :
const { status } = await ImagePicker.requestMediaLibraryPermissionsAsync();
if (status !== 'granted') {
Alert.alert('Permission Denied', 'We need permission to access your media.');
return;
}
let result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Images,
allowsEditing: true,
quality: 1,
});
if (!result.canceled) {
const selectedAsset = result.assets[0];
setAttachment(selectedAsset.uri); // Store the URI
} The media library will be opened without any permission alert to access media and i getting the below warning ⚠️
WARN [expo-image-picker] ImagePicker.MediaTypeOptions have been deprecated. Use ImagePicker.MediaType or an array of ImagePicker.MediaType instead.
And to tackle that if I use the below as it mentioned..The media picker won't even trigger..
const result = await ImagePicker.launchImageLibraryAsync({ mediaTypes: [ImagePicker.MediaType.IMAGE], allowsEditing: true, quality: 1, });
So can any one tell me how to resolve this issue? I know this might be basic issue for some one, as I am new to react native so i couldn't resolve this.. Thanks 🙌
So I'm new to react native Expo and I'm currently creating a social media app. I want to recreate the facebook/instagram/twitter feature where you can select multiple images to post. I found libraries but I dont know if its already been depracated. I've tried running them on Snack but doesnt work so my guess is the library (expo image picker multiple) has been depracted or has not been maintained. Need help please thank you!