OCR CODE-scan offers fast, accurate, and versatile scanning, supports all barcode
types, and seamless integration into apps
and web pages.
These companies trust OCR Studio
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.
Learn more about Data Privacy
Scan all major barcode types in images, scans, or video streams using barcode OCR technology.
Effortlessly scan 2D barcodes such as QR codes, Aztec, PDF 417, and DataMatrix.
Automatically recognize 1D barcodes including Codabar, Code 39, Code 93, Code 128, EAN-8, EAN-13, ITF, ITF-14, UPC-A, and UPC-E.
Achieve exceptional accuracy and fast scanning performance on any smartphone with our barcode reader software.
Enable continuous scanning mode in video streams with no limits on the number of barcodes.
Easily incorporate the barcode scanner into mobile apps, PWAs and web pages.
Accurately scan multiple barcodes simultaneously in a single frame or image with bulk barcode scanner capabilities.
Seamlessly scan small barcodes and those printed on non-flat surfaces.
Scan barcodes from smartphone screens, POS terminals, and billboards, regardless of lighting conditions.
Scan barcodes printed using any technique on any material, including black on white, white on black, transparent backgrounds, and more.
Maintain high quality and fast scanning or colored barcodes without compromise.
Efficiently scan barcodes embedded within images via steganography or those generated by neural networks.
Read damaged barcodes and cropped QR codes even with up to 30% of the area missing.
Scan all visible barcodes within a video frame, regardless of type.
Enjoy unrestricted scanning with no limits on the number of barcodes or scan duration.
Enable ongoing barcode detection in a video stream with no cap on the number of barcodes.
Set specific barcode types to be scanned according to your requirements.
Utilize fast and efficient neural network models for real-time location and identification of 2D and linear barcodes.
Scan barcodes accurately from any capture angle, whether in photos or videos.
Scan barcodes from various sources, including scans, photos, and video streams.
Maintain reliable barcode scanning performance even in low or overly bright lighting conditions.
Robust scanning in the presence of high-contrast shadows or highlights.
Accurate scanning even with low-resolution images.
Provides found object coordinates, user-defined data masking, and more.
Enables in-browser scanning of QR codes and other barcodes, compatible with all modern web browsers.
Supports React Native and Flutter for mobile barcode reader SDK development.
Includes practical examples for all supported integration methods.
Offers barcode scanning REST API for low-code barcode scanner integration and native APIs for C++, C#, Java, and Python.
Available for Android, iOS, Windows, and Linux.
Compatible with x86, x86_64, ARMv7, ARMv8, and ARMv9 (AArch32 and AArch64) architectures.
# 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()
})
})
barcode: aHR0cHM6Ly9vY3JzdHVkaW8uYWkv
barcode (encoded): https://ocrstudio.ai/
For more information, please visit Developer section
Our AI solution ensures maximum data protection
by processing all customer information exclusively
on the end-user's device.
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.
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.
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.
OCR Studio’s barcode reader SDK enables seamless integration of the technology into mobile apps, PWAs, and web pages.
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.
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.
OCR Studio’s barcode scanner is used for:
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.
For comprehensive details about our complete
range of solutions and services.
Or contact our sales team: