Skip to content
A Camera component for React Native. Also supports barcode scanning!
Branch: master
Clone or download
semantic-release-bot chore(release): 2.11.0 [skip ci]
# [2.11.0](v2.10.2...v2.11.0) (2019-06-20)

### Bug Fixes

* **docs-ci:** setting GH_TOKEN_DOCS to deploy docs ([b891b1a](b891b1a))

### Features

* **funding:** add FUNDING.yml [skip ci] ([3e715b1](3e715b1))
Latest commit 47ab6b3 Jun 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci fix(docs-ci): setting GH_TOKEN_DOCS to deploy docs Jun 13, 2019
.github feat(funding): add FUNDING.yml [skip ci] Jun 13, 2019
android fix: revert breaking change upgrading to sdk 28 and androidx Jun 6, 2019
docs Missing AppRegistry Import (#2308) Jun 10, 2019
examples fix: revert breaking change upgrading to sdk 28 and androidx Jun 6, 2019
ios added node_modules (#2282) May 26, 2019
src feat(android): write Exif tags to modified image file (#2263) May 15, 2019
types Fixes type of the onStatusChange callback in types/index.d.ts Jun 19, 2019
website chore(docs) setting a label to start to test ci deploy on pages Jun 9, 2019
windows fix(windows): update min sdk version (#2117) Feb 19, 2019
.dockerignore feat(docs): Add docusaurus (#2293) Jun 2, 2019
.eslintrc docs(rn-camera): add rncamera-example without face detection (#1979) … Dec 11, 2018
.flowconfig chore(lint): fix lint to make ci work Apr 15, 2018
.gitattributes disable git large files Feb 1, 2018
.gitignore feat(mlkit): Migrate Face, Barcode and Text Recognition to Firebase M… Mar 11, 2019
.npmignore fix: exclude android build artifacts (#2001) [skip ci] Dec 17, 2018
.prettierrc docs(rn-camera): add rncamera-example without face detection (#1979) … Dec 11, 2018 chore(changelog): add link to github releases [skip ci] Nov 12, 2018
Dockerfile feat(docs): Add docusaurus (#2293) Jun 2, 2019
LICENSE Initial commit Apr 1, 2015 feat(docs): Add docusaurus (#2293) Jun 2, 2019
THIRD-PARTY-LICENSES rename expo to simple RN, add js files, and export them inside the sa… Jan 1, 2018
commitlint.config.js chore(semantic-release): setup semantic-release for automated publish… Nov 12, 2018
docker-compose.yml feat(docs): Add docusaurus (#2293) Jun 2, 2019
package.json chore(release): 2.11.0 [skip ci] Jun 20, 2019
react-native-camera.podspec feat(mlkit): add mlkit barcode detection ios (#2209) Apr 16, 2019
yarn.lock chore(deps): bump handlebars from 4.0.12 to 4.1.2 (#2304) Jun 6, 2019

React Native Camera Backers on Open Collective Sponsors on Open Collective npm version npm downloads


If you use this library on your commercial/personal projects, you can help us by funding the work on specific issues that you choose by using!

This gives you the power to prioritize our work and support the project contributors. Moreover it'll guarantee the project will be updated and maintained in the long run.


Open Collective

You can also fund this project using open collective


Support us with a monthly donation and help us continue our activities. [Become a backer]


Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

The comprehensive camera module for React Native.


  • photographs.
  • videos
  • face detection (Android & iOS only)
  • barcode scanning
  • text recognition (optional installation for iOS using CocoaPods)


Get supported react-native-camera with the Tidelift Subscription


Example import

import { RNCamera, FaceDetector } from 'react-native-camera';

How to use master branch?

We recommend using the releases from npm, however if you need some features that are not published on npm yet you can install react-native-camera from git.

yarn: yarn add react-native-camera@git+

npm: npm install --save react-native-camera@git+


  • Pull Requests are welcome, if you open a pull request we will do our best to get to it in a timely manner
  • Pull Request Reviews are even more welcome! we need help testing, reviewing, and updating open PRs
  • If you are interested in contributing more actively, please contact me (same username on Twitter, Facebook, etc.) Thanks!
  • We are now on Open Collective! Contributions are appreciated and will be used to fund core contributors. more details
  • If you want to help us coding, join Expo slack, so we can chat over there. (#react-native-camera)

To use the camera on Android you must ask for camera permission:

  <uses-permission android:name="android.permission.CAMERA" />

To enable video recording feature you have to add the following code to the AndroidManifest.xml:

  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


Take a look into this documentation.

You can’t perform that action at this time.