MCPcopy Index your code
hub / github.com/mrousavy/react-native-vision-camera

github.com/mrousavy/react-native-vision-camera @v5.1.0 sqlite

repository ↗ · DeepWiki ↗ · release v5.1.0 ↗
591 symbols 1,539 edges 271 files 134 documented · 23% 1 cross-repo links
README

<img alt="VisionCamera" src="https://github.com/mrousavy/react-native-vision-camera/raw/v5.1.0/images/banner-light.webp" />

VisionCamera is a powerful, high-performance Camera library for React Native. It features:

  • 📸 Photo and Video capture
  • 👁️ QR/Barcode scanner
  • 📱 Customizable devices and multi-cameras ("fish-eye" zoom)
  • 🎞️ Customizable resolutions and aspect-ratios (4k/8k images)
  • ⏱️ Customizable FPS (30..240 FPS)
  • 🧩 Frame Processors (JS worklets to run facial recognition, AI object detection, realtime video chats, ...)
  • 🎨 Drawing shapes, text, filters or shaders onto the Camera
  • 🔍 Smooth zooming (Reanimated)
  • ⏯️ Fast pause and resume
  • 🌓 HDR & Night modes
  • ⚡ Custom C++/GPU accelerated resizer (Metal/Vulkan)

Install VisionCamera from npm:

npm i react-native-vision-camera
cd ios && pod install

..and get started by setting up permissions!

Links

VisionCamera V4

As VisionCamera V5 is released, VisionCamera V4 is no longer actively maintained. The VisionCamera V4 code has been archived under margelo/react-native-vision-camera-v4-snapshot, and the old documentation page is deployed at visioncamera4.margelo.com.

ShadowLens

To see VisionCamera in action, check out ShadowLens!

Example

function App() {
  return (
    <Camera
      style={StyleSheet.absoluteFill}
      device="back"
      isActive={true}
    />
  )
}

See the example app

Adopting at scale

VisionCamera is built by Margelo. We make apps better and faster.

Socials

Extension points exported contracts — how you extend this code

SkiaOnFrameState (Interface)
(no doc)
packages/react-native-vision-camera-skia/src/render.ts
CodeScannerOptions (Interface)
(no doc)
packages/react-native-vision-camera-barcode-scanner/src/views/CodeScanner.tsx
LocationManager (Interface)
(no doc)
packages/react-native-vision-camera-location/src/specs/LocationManager.nitro.ts
Resizer (Interface)
(no doc)
packages/react-native-vision-camera-resizer/src/specs/Resizer.nitro.ts
WorkletQueueFactory (Interface)
(no doc)
packages/react-native-vision-camera-worklets/src/specs/WorkletQueueFactory.nitro.ts
DeviceFilter (Interface)
(no doc)
packages/react-native-vision-camera/src/devices/getCameraDevice.ts
RootParamList (Interface)
(no doc)
apps/simple-camera/src/App.tsx
DataMap (Interface)
(no doc)
docs/source.config.ts

Core symbols most depended-on inside this repo

configure
called by 134
packages/react-native-vision-camera/src/specs/CameraController.nitro.ts
stop
called by 125
packages/react-native-vision-camera/src/specs/session/CameraSession.nitro.ts
createCameraSession
called by 120
packages/react-native-vision-camera/src/specs/CameraFactory.nitro.ts
start
called by 107
packages/react-native-vision-camera/src/specs/session/CameraSession.nitro.ts
createPhotoOutput
called by 65
packages/react-native-vision-camera/src/specs/CameraFactory.nitro.ts
setOnFrameCallback
called by 47
packages/react-native-vision-camera/src/threading/RuntimeThread.ts
addOnErrorListener
called by 44
packages/react-native-vision-camera/src/specs/session/CameraSession.nitro.ts
createVideoOutput
called by 36
packages/react-native-vision-camera/src/specs/CameraFactory.nitro.ts

Shape

Function 335
Method 137
Interface 119

Languages

TypeScript100%

Modules by API surface

packages/react-native-vision-camera/src/specs/CameraController.nitro.ts19 symbols
packages/react-native-vision-camera/src/specs/CameraFactory.nitro.ts18 symbols
packages/react-native-vision-camera/src/views/Camera.tsx16 symbols
docs/src/lib/typedoc/inherited-type-level-comments.ts14 symbols
packages/react-native-vision-camera/src/specs/instances/Depth.nitro.ts11 symbols
packages/react-native-vision-camera-skia/src/views/SkiaCamera.tsx11 symbols
docs/src/components/production-apps-showcase.tsx10 symbols
packages/react-native-vision-camera/src/specs/session/CameraSession.nitro.ts9 symbols
docs/src/lib/source/api-reference-tree-plugin.ts9 symbols
packages/react-native-vision-camera/src/specs/outputs/CameraPhotoOutput.nitro.ts8 symbols
packages/react-native-vision-camera/src/specs/instances/Photo.nitro.ts8 symbols
packages/react-native-vision-camera/src/specs/instances/Frame.nitro.ts8 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

@babel/core7.29.7 · 1×
@babel/preset-env7.29.7 · 1×
@babel/runtime7.29.7 · 1×
@biomejs/biome2.4.16 · 1×
@heroicons/react2.2.0 · 1×
@playwright/test1.60.0 · 1×
@r4ai/remark-callout0.6.2 · 1×
@react-native-community/blur4.4.1 · 1×
@react-native-community/cli20.1.3 · 1×
@react-native-community/cli-platform-android20.1.3 · 1×
@react-native-community/cli-platform-ios20.1.3 · 1×
@react-native-harness/platform-android1.4.0-rc.1 · 1×

For agents

$ claude mcp add react-native-vision-camera \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact