Precision MRZ Scanning in All Conditions
AI-Powered Barcode Scanning SDK logo

OCR CODE-scan: AI-Powered Barcode Scanner SDK

OCR CODE-scan offers fast, accurate, and versatile scanning, supports all barcode types, and seamless integration into apps
and web pages.

Send request
Precision MRZ Scanning in All Conditions

These companies trust OCR Studio

iDenfy uses of OCR Studio ID scanning technology
OCR Solutions partners with OCR Studio to provide USA IDs scanning
Minits integrates OCR scanning of national ID cards, passports, and driving licenses of the EU
Smaregi is equipped with OCR Studio technology for MRZ scanning on passports to streamline tax free procedures for foreign citizens in Japan
ZeusTech integrated MRZ scanning by OCR Studio into its hospitality applications
GKD Global partners with AI ID recognition systems developer OCR Studio for automatic documents clearing services

What Is On-Premise OCR?

The core idea behind OCR Studio is Data Privacy.
In line with this idea, we created on-premise solutions.

On-premise OCR means all data is processed offline directly in the local memory (RAM) and never leaves the client’s device, which allows us to ensure an unrivaled level of data privacy for our clients.

Key Benefits of Our Approach:

Learn more about Data Privacy

data on premise illustration

Revolutionize your scanning experience with our AI-powered barcode technology!

Whether you're leveraging images, scan files, or real-time video streams, our solution empowers you to effortlessly scan all major barcode types with unmatched accuracy and speed on any smartphone. Our advanced algorithm excels in reading barcodes even with up to 30% of their area missing.

Multi-Purpose AI-Powered Barcode Scanning

Wide Range Barcode Compatibility

Scan all major barcode types in images, scans, or video streams using barcode OCR technology.

Advanced 2D Symbology Support

Effortlessly scan 2D barcodes such as QR codes, Aztec, PDF 417, and DataMatrix.

Extensive 1D Barcode Support

Automatically recognize 1D barcodes including Codabar, Code 39, Code 93, Code 128, EAN-8, EAN-13, ITF, ITF-14, UPC-A, and UPC-E.

High-Performance Barcode Scanning with Limitless Integration

Supreme Precision and Speed

Achieve exceptional accuracy and fast scanning performance on any smartphone with our barcode reader software.

Unrestricted Continuous Scanning

Enable continuous scanning mode in video streams with no limits on the number of barcodes.

Seamless Integration

Easily incorporate the barcode scanner into mobile apps, PWAs and web pages.

Precision MRZ Scanning in All Conditions

Effortless Barcode Scanning in Any Environment

Multi-Barcode Recognition

Accurately scan multiple barcodes simultaneously in a single frame or image with bulk barcode scanner capabilities.

Adaptability to Challenging Conditions

Seamlessly scan small barcodes and those printed on non-flat surfaces.

Optimized for Digital Displays

Scan barcodes from smartphone screens, POS terminals, and billboards, regardless of lighting conditions.

Wide Support of Material and Print

Scan barcodes printed using any technique on any material, including black on white, white on black, transparent backgrounds, and more.

Color Barcode Compatibility

Maintain high quality and fast scanning or colored barcodes without compromise.

Advanced Barcode Integration

Efficiently scan barcodes embedded within images via steganography or those generated by neural networks.

Damage-Resilient Scanning

Read damaged barcodes and cropped QR codes even with up to 30% of the area missing.

Precision MRZ Scanning in All Conditions

Neural Network-Powered Barcode Scanning for Real-Time Precision

Whether you need to process a single code or a multitude in one frame, our technology adapts flawlessly, identifying barcodes with remarkable accuracy. From dynamic video feeds to static images, our model ensures you can scan effortlessly at any capture angle and lighting condition.

Real-Time Video Stream Barcode Scanning

Multi-Type Barcode Detection

Scan all visible barcodes within a video frame, regardless of type.

Unlimited Barcode Scanning

Enjoy unrestricted scanning with no limits on the number of barcodes or scan duration.

Continuous Video Stream Scanning

Enable ongoing barcode detection in a video stream with no cap on the number of barcodes.

Customizable Barcode Type Selection

Set specific barcode types to be scanned according to your requirements.

High-Speed Neural Network Models

Utilize fast and efficient neural network models for real-time location and identification of 2D and linear barcodes.

Consistent Accuracy in Any Environment

Angle-Independent Scanning

Scan barcodes accurately from any capture angle, whether in photos or videos.

Source Compatibility

Scan barcodes from various sources, including scans, photos, and video streams.

Lighting Adaptability

Maintain reliable barcode scanning performance even in low or overly bright lighting conditions.

Resilience to Shadows and Highlights

Robust scanning in the presence of high-contrast shadows or highlights.

Effective Even in Low Resolutions

Accurate scanning even with low-resolution images.

Fast, Efficient Neural Networks for Unmatched Real Time Barcode Scanning Precision in Any Condition.

Seamless Integration of On-Premise Barcode Scanner

Advanced Scanning Features

Provides found object coordinates, user-defined data masking, and more.

WebAssembly SDK

Enables in-browser scanning of QR codes and other barcodes, compatible with all modern web browsers.

Mobile Framework Compatibility

Supports React Native and Flutter for mobile barcode reader SDK development.

Comprehensive Usage Examples

Includes practical examples for all supported integration methods.

Diverse Barcode Scanner Integration Options

Flexible Integration Options

Offers barcode scanning REST API for low-code barcode scanner integration and native APIs for C++, C#, Java, and Python.

Multi-Platform SDKs

Available for Android, iOS, Windows, and Linux.

Wide CPU Architecture Support

Compatible with x86, x86_64, ARMv7, ARMv8, and ARMv9 (AArch32 and AArch64) architectures.

Here’s how to scan barcode using our SDK

# Python
engine_instance = ocrstudiosdk.OCRStudioSDKInstance.CreateFromPath(<PATH_TO_CONFIGURATION_FILE>)
session = engine_instance.CreateSession(
  <SIGNATURE>,
  "{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"barcode\"}"
)
image = ocrstudiosdk.OCRStudioSDKImage.CreateFromFile(<PATH_TO_IMAGE>)
session.ProcessImage(image)

result = session.CurrentResult()
target = result.TargetByIndex(0)
item_it = target.ItemsBegin('string')
while not item_it.IsEqualTo(target.ItemsEnd('string')):
  name = item_it.Item().Name()
  value = item_it.Item().Value()
  item_it.Step()
// Java
OCRStudioSDKInstance engine_instance = OCRStudioSDKInstance.CreateFromPath(<PATH_TO_CONFIGURATION_FILE>);
OCRStudioSDKSession session = engine_instance.CreateSession(<SIGNATURE>,
  "{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"barcode\"}");
OCRStudioSDKImage image = OCRStudioSDKImage.CreateFromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image);
OCRStudioSDKResult result = session.CurrentResult();
OCRStudioSDKTarget target = result.TargetByIndex(0);
for (OCRStudioSDKItemIterator item_it = target.ItemsBegin("string"); !item_it.IsEqualTo(target.ItemsEnd("string")); item_it.Step()) {
  String name = item_it.Item().Name();
  String value = item_it.Item().Value();
  }
// C#
ocrstudio.OCRStudioSDKInstance engine_instance = ocrstudio.OCRStudioSDKInstance.CreateFromPath(<PATH_TO_CONFIGURATION_FILE>);
ocrstudio.OCRStudioSDKSession session = engine_instance.CreateSession(<SIGNATURE>,
  "{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"barcode\"}");
ocrstudio.OCRStudioSDKImage image = ocrstudio.OCRStudioSDKImage.CreateFromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image);

ocrstudio.OCRStudioSDKResult result = session.CurrentResult();
ocrstudio.OCRStudioSDKTarget target = result.TargetByIndex(0);
for (OCRStudioSDKItemIterator item_it = target.ItemsBegin("string"); !item_it.IsEqualTo(target.ItemsEnd("string")); item_it.Step()) {
  String name = item_it.Item().Name();
  String value = item_it.Item().Value();
  }
// C++
std::unique_ptr<ocrstudio::OCRStudioSDKInstance> engine_instance(ocrstudio::OCRStudioSDKInstance::CreateFromPath(<PATH_TO_CONFIGURATION_FILE>));
std::unique_ptr<ocrstudio::OCRStudioSDKSession> session(engine_instance->CreateSession(<SIGNATURE>,
  "{\"session_type\": \"document_recognition\", \"target_group_type\": \"default\", \"target_masks\": \"barcode\"}"));
std::unique_ptr<ocrstudio::OCRStudioSDKImage> image(ocrstudio::OCRStudioSDKImage::CreateFromFile(<PATH_TO_IMAGE>));
session->ProcessImage(*image);
const ocrstudio::OCRStudioSDKResult& result = session->CurrentResult();
const ocrstudio::OCRStudioSDKTarget& target = result.TargetByIndex(0);
for (auto item_it = target.ItemsBegin("string"); item_it != target.ItemsEnd("string"); item_it.Step()) {
  string name = item_it.Item().Name();
  string value = item_it.Item().Value();
  }
// JavaScript
importScripts("ocrstudiosdk_wasm.js")
OCRSTUDIOSDK = await OCRStudioSDK(module)
instance = new OCRSTUDIOSDK.OCRStudioSDKInstance(
  "{ \"enable_lazy_initialization\": false, \"enable_delayed_initialization\": true, \"initialization_num_threads\": 1}"
)
spawnedSession = instance.CreateSession("<signature>", "<session_params>")
// <input type="file" id="file-selector"> must exist in HTML
fileSelector = document.querySelector("#file-selector")
fileSelector.addEventListener("change", (event) => {
  reader = new FileReader()
  reader.addEventListener("load", (event) => {
    imageData = event.target.result
    image = OCRSTUDIOSDK.CreateFromFileBuffer(imageData)
    spawnedSession.ProcessImage(image)
    result = spawnedSession.CurrentResult()
  })
})

Example output

barcode: aHR0cHM6Ly9vY3JzdHVkaW8uYWkv
barcode (encoded): https://ocrstudio.ai/
For more information, please visit Developer section
data privacy illustration

Data Privacy

Our AI solution ensures maximum data protection
by processing all customer information exclusively
on the end-user's device.

  • Your clients' data is never shared with us or any third parties, eliminating the risk of external breaches while maintaining seamless, real-time verification capabilities
  • All data is processed strictly in the RAM of the device and is never logged or stored, which allows to achieve 100% on-premise architecture.
  • Verification is fully automated, with no human operators (HITL), crowdsourcing, or Mechanical Turk involvement.
airplane-mode-icon
Verify the functionality by disabling
the network connection during your testing.
data privacy illustration

Multi-platform Integration

Frequently Asked Questions

What is a barcode scanner SDK?

A barcode scanner SDK is a software development kit that allows developers to embed barcode recognition directly into their apps or web systems. It provides the tools and APIs needed to detect, read, and decode multiple barcode types with high speed and accuracy.

What barcodes does OCR Studio’s barcode scanning program scan?

OCR Studio’s barcode scanning program scan 2D barcodes such as QR codes, Aztec, PDF 417, DataMatrix, and 1D barcodes including Codabar, Code 39, Code 93, Code 128, EAN-8, EAN-13, ITF, ITF-14, UPC-A, and UPC-E.

How do barcode scanning solutions by OCR Studio work in poor shooting conditions?

Our barcode scanning solutions are engineered for challenging real-world conditions. They reliably decode small barcodes on curved or reflective surfaces and perform effectively in poor lighting, including low light and glare. Our AI model is trained to handle everything from product packaging to digital screens.

What integration capabilities does the barcode reader SDK by OCR Studio have?

OCR Studio’s barcode reader SDK enables seamless integration of the technology into mobile apps, PWAs, and web pages.

What should I consider when choosing the best barcode scanning SDK?

First, consider the speed and accuracy of the scanning technology. OCR Studio’s solution completes a scan in under 0.4 seconds. This performance can be verified by downloading our demo app OCR Studio.

Second, pay attention to the technology’s performance in challenging conditions. For instance, our solution can successfully read damaged barcodes and cropped QR codes, even with up to 30% of the data missing.

Third, a reliable barcode scanning provider should offer on-premise deployment and cross-platform SDKs. OCR Studio meets this requirement by providing both.

Does the barcode scanner work offline?

Yes. OCR Studio’s barcode scanner works fully offline, directly on the device. No cloud connection is required, making it ideal for field use, embedded systems, or privacy-sensitive applications.

What are typical use cases for barcode scanning?

OCR Studio’s barcode scanner is used for:

  • Retail inventory and POS systems
  • Payment service providers
  • Logistics and parcel tracking
  • Healthcare labeling and patient IDs
  • Event ticketing and QR check-ins
  • Government forms and ID documents with barcodes
Why should businesses use AI-driven barcode scanning software?

AI-driven barcode scanner software ensures faster throughput, fewer scanning errors, and flexibility across all barcode formats. It’s ideal for enterprises handling large-scale logistics, healthcare, and retail automation.

OCR Studio Demo Application

Try our free demo app, which showcases all our technologies

apple store link google play link web app demo link
Demo apps privacy policy
OCR Studio Demo App

Get in Touch With Us Today!

For comprehensive details about our complete
range of solutions and services.

Or contact our sales team:

sales@ocrstudio.ai

Valid first name is required.
Valid last name is required.
Please enter a valid email address.
* Required information
By clicking the “Sign up” button, you consent
to data processing