React Native Barcode and QR Reader SDK

Download Trial

Try the Barcode Reader in Your React Native App

Efficiently embed high-speed and reliable React Native barcode reader into your mobile application using just a few lines of JavaScript code to meet your business needs. Support all common and rare barcode types including 1D barcodes, QR codes, postal codes, and more. Read the most challenging barcodes even when it’s upside-down, in low light, in motion, or in the rain. Optimized mobile video stream decoding in 1/1000 of a second.

  • Fast and Robust
  • Scan Multiple Barcodes
  • Customizable Scan Settings
  • Flexible Licensing
DCV react native

System Requirements

React Native

Supported Version: 0.60 or higher


  • Supported OS: iOS 10.0 or higher.
  • Supported ABI: arm64 and x86_64.
  • Development Environment: Xcode 7.1 and above (Xcode 13.0+ recommended), CocoaPods 1.11.0+.


  • Supported OS: Android 5.0 (API Level 21) or higher.
  • Supported ABI: armeabi-v7a, arm64-v8a, x86 and x86_64.
  • Development Environment: Android Studio 3.4+ (Android Studio 4.2+ recommended).
  • JDK: 1.8+


Node: 16.15.1+ recommended

Barcode and QR Code Scanner Mobile App

Transform mobile phones and tablets into enterprise-grade barcode scanning and data capture tools.

Supported Symbologies

Linear Barcodes (1D)

Code 39 (including Code 39 Extended), Code 93, Code 128, Codabar, Interleaved 2 of 5, EAN-8, EAN-13, UPC-A, UPC-E, Industrial 2 of 5, MSI (Modified Plessey), Code 11, GS1 DataBar

2D Barcodes

QR Code (including Micro QR Code), Data Matrix, PDF417 (including Micro PDF417), Aztec Code, MaxiCode (mode 2-5), DotCode

Postal Codes

USPS Intelligent Mail, Postnet, Planet, Australian Post, UK Royal Mail

Patch Code

GS1 Composite Code


Getting Started With Dynamsoft React Native Barcode Reader

The Dynamsoft React Native Barcode Reader SDK is available as an npm package. Build your own React Native Barcode Reader app in a few lines of code:

Initialize the Project:

try { await DCVBarcodeReader.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9"); } 
catch (e) { console.log(e); }
this.reader = await DCVBarcodeReader.createInstance(); 
this.reader.addResultListener((results) => { this.setState({results}); }); 

Configure the Barcode Reader:

let settings = await this.reader.getRuntimeSettings(); 
settings.expectedBarcodesCount = 0; 
settings.barcodeFormatIds = EnumBarcodeFormat.BF_ONED | EnumBarcodeFormat.BF_QR_CODE | EnumBarcodeFormat.BF_PDF417 | EnumBarcodeFormat.BF_DATAMATRIX; 
await this.reader.updateRuntimeSettings(settings); 
//Using the DBRRuntimeSettings interface: 
await this.reader.updateRuntimeSettings(EnumDBRPresetTemplate.VIDEO_SPEED_FIRST);

Check out our full Reactive Native documentation to learn more about customized settings for your usage scenario.

Ready to Take the Next Step?