React Native Barcode and QR Reader SDK
npm install dynamsoft-capture-vision-react-native
Integrate Industry-Leading Barcode Reader in Your React Native App
Effortlessly add a powerful and reliable barcode reader to your React Native mobile application with just a few lines of JavaScript. Our solution supports all common and uncommon barcode types, including 1D barcodes, QR codes, postal codes, and more.
No matter the challenge, our barcode reader ensures accurate and lightning-fast decoding, even if the barcode is upside-down, in motion, in low light, or in the rain. Optimized for mobile video streams, it processes barcode in as little as 1/1000 of a second.
- Blazing Speed & Reliability
- Multi-Barcode Scanning
- Customizable Scan Settings
- Flexible Licensing Options

System Requirements
React Native
Supported Version: 0.71.0 or higher
iOS
- Supported OS: iOS 11+ (iOS 13+ recommended).
- Supported ABI: arm64 and x86_64.
- Development Environment: Xcode 13+ (Xcode 14.1+ recommended).
Android
- Supported OS: Android 5.0 (API Level 21) or higher.
- Supported ABI: armeabi-v7a, arm64-v8a, x86 and x86_64.
- Development Environment: Android Studio 2022.2.1 or higher.
Others
Node: 18 or higher
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, Telepen
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
Pharmacode
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:
LicenseManager.initLicense("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9")
.then(()=>{/*Init license successfully.*/})
.catch(error => console.error("Init License failed.", error));
Configure the Barcode Reader:
let router = CaptureVisionRouter.getInstance()
let settings: SimplifiedCaptureVisionSettings = {
timeout: 1000,
barcodeSettings: {
expectedBarcodesCount: 0,
barcodeFormats: EnumBarcodeFormat.BF_ONED | EnumBarcodeFormat.BF_QR_CODE | EnumBarcodeFormat.BF_PDF417 | EnumBarcodeFormat.BF_DATAMATRIX,
}
};
router.updateSettings(settings, EnumPresetTemplate.PT_READ_SINGLE_BARCODE);
router.startCapturing(EnumPresetTemplate.PT_READ_SINGLE_BARCODE);
Check out our full Reactive Native documentation to learn more about customized settings for your usage scenario.