docs/content/docs/visioncamera-vs-expo-camera.mdx
Both VisionCamera and Expo Camera are popular Camera libraries for React Native and Expo - however each come with their own feature set and limitations, showcased here on this page.
| Feature | VisionCamera | Expo Camera |
|---|---|---|
| Works in Expo Go | ❌ | ✅ |
| Works on Web | ❌ | ✅ |
| Camera View Component | ✅ | ✅ |
| Capturing Photos | ✅ | ✅ |
| In-memory Photo Capture | ✅ | ✅ |
| Android Snapshot Capture | ✅ | ❌ |
| Capturing Videos | ✅ | ✅ |
| Barcode Scanning | ✅ | ✅ |
| System Barcode Scanner UI | ❌ | ✅ |
| Scan Barcodes from Image URL | ✅ | ✅ |
| Locking AE/AF/AWB | ✅ | ❌ |
Configurable focusTo(...) | ✅ | ❌ |
| Realtime Frame Processing | ✅ | ❌ |
| Drawing onto the Camera with Skia | ✅ | ❌ |
| Realtime Depth Frame Processing | ✅ | ❌ |
| Depth in Photos | ✅ | ❌ |
| Capturing RAW Photos | ✅ | ❌ |
| Photo HDR | ✅ | ❌ |
| Video HDR/Dynamic Ranges | ✅ | ❌ |
| Maximum Photo Resolution | ✅ | ❌ |
| Android Camera Extensions | ✅ | ❌ |
| Video Stabilization | ✅ | ✅ |
| Preview Stabilization | ✅ | ❌ |
| Low Light Boost | ✅ | ❌ |
| Exposure Bias | ✅ | ❌ |
| Configurable FPS | ✅ | ❌ |
| Specific Camera/Lens Selection | ✅ | Front/back + iOS lenses |
| External Camera Devices | ✅ | ❌ |
| Multi-Camera Support | ✅ | ❌ |
| Persistent Video Outputs | ✅ | ❌ |
| Coordinate Systems | ✅ | ❌ |
| Location Tags | ✅ | ❌ |
| Photo Output Callbacks | ✅ | ❌ |
| Preview Image During Capture | ✅ | ❌ |
| Custom Photo JPEG Quality | ✅ | ✅ |
Photo qualityPrioritization | ✅ | ❌ |
Custom Video maxFileSize | ✅ | ✅ |
Custom Video maxDuration | ✅ | ✅ |
| Custom Video Bitrate | ✅ | ✅ |
Custom Video codec | ✅ | ✅ |
| Native Frame Processor Plugins | ✅ | ❌ |
Custom Native CameraOutputs | ✅ | ❌ |
Expo Camera is an Expo SDK package and runs in Expo Go.
VisionCamera is a third-party native package and runs in an Expo Development Build (expo prebuild), or in a bare React Native app.