Speed and accuracy – these are at the heart of outstanding barcode scanning performance. Finding the proper balance between them for your particular use case is vital for scanning operations. To optimize both in tandem, you need to identify the issues holding back the barcode scanner software of your choice.
In this article, we will first discuss how camera-based mobile barcode scanners actually work. After that, we’ll show you ways to improve the performance of the barcode scanner software.
How mobile barcode scanners read barcodes
Modern barcode scanner software is built on machine learning. At their core, you’ll find a model trained to detect, recognize, and read various barcode patterns.
Here is how it works on mobile: The barcode scanner app takes an image – or several – through the device’s camera. The machine-learning model then locates the barcode in the image, identifies the type, and decodes its data. The result is a string of numbers or letters, which is both human- and machine-readable. What happens next depends on the use case: It can be displayed right away, or transmitted to a backend for further processing.
The question is: Where can you boost your scanner’s performance in this process? There is, in fact, a whole range of factors at play. Some are related to user-friendliness, some to the underlying software, some even to the barcode type itself.
Let’s first take a look at the user behind the camera.
Make barcode scanning as user-friendly as possible
The less friction a user encounters while scanning, the better. A few simple features and design choices can help users achieve accurate and speedy scanning results without frustration.
Intuitive UI design is key. Even a basic viewfinder helps users find the perfect camera position for a scan, but AR user guidance offers even better assistance. An automatic capture feature further streamlines the scanning process: Here, the scan is triggered as soon as the scanning device perfectly aligns with the barcode.
Features like these ensure that the barcode scanner software receives a high-quality raw image for further processing.

Take a closer look at your barcode scanner software
A key component of any barcode scanner is an efficient barcode detector. Most barcode types contain special structures, such as finder patterns, which make them easier to recognize. Machine-learning models can rapidly detect these characteristic features, even under challenging conditions such as low lighting.
Once detected, the barcode is read. Here, image quality – and how these images are taken – is the main performance factor.
Enhancing speed and accuracy with image processing
Good user guidance goes a long way towards ensuring image quality – but camera performance and environmental conditions also play a role. Therefore, advanced image processing is crucial in improving barcode scanner speed and accuracy.
Being a barcode scanner software provider ourselves, we want to share our expertise on what measures you can take to optimize barcode detection and processing.
Optimizing image resolution
High image resolution means a large amount of data, which means slower processing. Often, you can substantially reduce the resolution without impacting accuracy – with some caveats.
Live-stream vs single-shot
In live-stream mode, the software consecutively receives several images for processing. Consequently, the barcode scanner software gets more opportunities to detect a barcode correctly, enhancing accuracy. Since the resolution can be fairly low, this can be very fast.
In single-shot mode, there is only one input image, and so only one chance of accurately detecting the barcode. This usually means that processing happens at full image resolution, which impacts scanning speed.
Carefully consider this information before you start integrating your barcode scanner software. Not all solutions support both modes, and even if they do – and you implement both of them – you will have to select the method before the scan.
Binarization
Finally, to decode a barcode, the detected region in the input image, which is usually in grayscale or color, must be binarized – converted into pure black and white corresponding to the barcode parts. Naive binarization methods, like a simple brightness threshold, fail in challenging conditions, such as blur. Therefore, keep in mind that accurate scanning requires more advanced binarization algorithms. For best results, these can be tailored to a specific barcode type.

Choosing between 1D and 2D barcodes
Having optimized the images, let’s now return to barcode detection.
What the barcode scanning software is actually trying to do is to find image parts that could be part of a barcode. The underlying model has been trained on specific characteristics, like the fact that 1D barcodes consist of a series of black and white bars. Given the widths and order of these bars, it can also figure out which 1D barcode type it is in particular. To do so, the model will identify image parts that could be barcode edges and combine these until it achieves the biggest match score with a barcode type it has been trained on.
The process is the same for 2D barcodes, although these feature prominent identification markers – markers designed to be detected by simpler computer vision algorithms. Because 2D barcodes are denser than 1D barcodes, lowering image resolution is not recommended, as it complicates barcode recognition.
We recommend you provide a way to select a barcode type before scanning. This improves speed, as the time spent on determining the barcode type will be significantly reduced. For instance, by pre-selecting 1D barcode types, the detection algorithm will ignore all barcodes that bear 2D characteristics.
Restricting the type and shape of the expected barcode can also help prevent scanning false positives. Some 1D barcodes are readable even when only partially visible, resulting in misreads. By configuring how big a quiet zone has to be before a barcode is considered for detection, scanning accuracy can be significantly improved.
Speed vs. accuracy – can you improve performance without compromising?
Good news first: Both speed and accuracy can be improved! However, we have learned that there is often a trade-off: While high resolutions and sophisticated image processing improve accuracy, they impact speed.
Live-stream mode is a good example for these complexities. We’ve already mentioned that, images can be scaled down before the barcode detection algorithm runs over them, shortening processing time. However, this only applies when single barcodes are scanned. Higher image resolution is needed to ensure the scan accuracy when there are several barcodes.
For mission-critical barcode scanner applications, keeping both speed and accuracy up can be a juggling act for in-house developers. Instead, consider choosing a commercial solution that comes with extensive customer support and regular updates.
The Scanbot Barcode Scanner SDK uses advanced computer vision and machine learning technology to offer rapid and accurate scanning of all standard 1D and 2D barcodes. Its enhanced barcode detection technology allows it to scan even tiny, distant, blurry, and damaged barcodes accurately – at high speed.
Our customizable, ready-to-use UI components cover all barcode use cases, saving developers time and effort. The Scanbot Barcode Scanner SDK is available for Android, iOS, Web, Windows, and Linux and supports cross-platform frameworks, including React Native, Flutter, and .NET MAUI. During your trial, you’ll have access to our responsive developer support team via our free Slack support channel for any troubleshooting needs. Once you become a customer, you’ll have a dedicated Customer Success Manager. Beyond that, our team of developers is committed to working on new developments in barcode technology, keeping our machine-learning models up to date and allowing you to scan even complex barcodes with ease.