
Company News
Socket Named Top Sales Organization by RepVue
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.
@snap/camera-kit-react-native
Advanced tools
[!IMPORTANT] This repository contains example projects to help you get started with Camera Kit integrations. The software is provided "as is" without any warranties or guarantees, and it is not officially supported for production use.
Advanced functionalities like Remote API support, Inclusive Camera features, etc. are not supported in this wrapper implementation. If your project needs missing features, feel free to implement them yourself and submit a PR to this repo or use native development environment.
The project provides a wrapper to Snap's Camera Kit solution that simplifies and speeds up the integration process for developers building React Native apps. While development on native platforms is still a recommended way, this wrapper provides a convenient way to implement basic functionalities of Camera Kit in React Native application.
You can install the Camera Kit React Native package using npm:
npm install @snap/camera-kit-react-native
Start with importing the following modules:
import { CameraKitContext } from '@snap/camera-kit-react-native';
import { useCameraKit } from '@snap/camera-kit-react-native';
CameraKitContext component will contain global configuration for CameraKit session whereas useCameraKit hook will provide API for managing native CameraKit session, load lenses, apply lens, etc.
For Android, make sure you have following permissions defined in AndroidManifest.xml file:
<uses-permission android:name="android.permission.CAMERA" />
<!-- optionally, if you want to record audio: -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Usage example:
import { PreviewView, useCamera } from "@snap/camera-kit-react-native"
import { useEffect } from "react"
import { View, FlatList, Pressable, Image } from "react-native"
import { Lenses } from "./lenses"
export function App() {
const { setPosition } = useCamera();
useEffect(async () => {
setPosition("front");
})
return (
<CameraKitContext apiToken="<API Token from Camera Kit Portal>" safeArea={{top: 100, bottom: 200}}>
<PreviewView />
<Lenses />
</CameraKitContext>
)
}
Lens carousel example:
import { PreviewView, useCameraKitManager } from "@snap/camera-kit-react-native"
import { useEffect } from "react"
import { View, FlatList, Pressable, Image } from "react-native"
import { useCameraManager } from "./partner-camera"
function Lenses({ groupId }: { groupId: string }) {
const { loadLenses, applyLens } = useCameraKitManager();
const [lenses, setLenses] = useState([]);
useEffect(async () => {
const getLenses = async () => {
const lenses = await loadLenses(groupId);
setLenses(lenses);
}
getLenses().catch(console.error)
return undefined;
}, [loadLenses])
return (
<View style={{position: 'absolute'}}>
<FlatList
horizontal={true}
data={lenses}
renderItem={item => (
<Pressable
onPress={() => {
applyLens(item.item.id);
}}>
<Image
source={{uri: item.item.icon}}
/>
</Pressable>
)}
keyExtractor={item => item.id}
/>
</View>
)
}
Thank you for your interest in improving our project! :pray:
Here's how you can contribute:
yarn install --immutable && yarn prepare.yarn example start. Ensure everything works as expected.yarn docs.Please refer to the LICENSE file for license information.
FAQs
Camera Kit wrapper for React Native
We found that @snap/camera-kit-react-native demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.

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.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.