Guides
Photos and files
What Contacts can attach to their messages, on a website and in an app.
Updated October 19, 2026
Contacts attach photos to their messages, and files on a website. Your team sees them in the Conversation, and can send some too.
On a website
The attachment button is always there, with no setting, with the Install code as with @zean-chat/react and @zean-chat/vue.
- Images: JPEG, PNG or WebP. The browser shrinks them to 1,600 pixels on the longest side before sending.
- Files: PDF, text, CSV, Word and Excel, 10 MB at most each.
- 6 attachments at most per message.
In a React Native app
Contacts send photos from their library, no other files. The SDK uses the photo picker installed in your app: expo-image-picker or react-native-image-picker. With neither, the chat has no photo button.
With Expo, npx expo install expo-image-picker. With React Native CLI, the command below, then the permission text in ios/<YourApp>/Info.plist.
npm install react-native-image-pickercd ios && pod install- Nothing to pass to
ZeanChat: the SDK finds the installed picker. - Picked photos show above the field and upload when the message is sent.
- 4 photos at most per message.
maxPhotosonZeanChatchanges it, from 1 to 6:<ZeanChat maxPhotos={6} ... />. - The picker is a native module: it arrives with a new version of your app in the stores. Expo Go already has it.
- The picker itself asks no permission, but the App Store wants a sentence about photo access from any app that includes a photo module: the
NSPhotoLibraryUsageDescriptionkey ofInfo.plistwith React Native CLI. With Expo, theexpo-image-pickerplugin inapp.jsonprovides it, and itsphotosPermissionoption changes it. - Photos are sent as JPEG, never HEIC, so your team can open them anywhere.
- 10 MB at most per photo.
Photos and files your team sends open in the app too: images full screen, other files in the phone’s viewer.