How to scan damaged and broken barcodes
Damaged barcodes
Barcodes are everywhere. Most of the time, you won't notice them, but often when you want to scan them, you just can't. Their omnipresence isn't an accident—we chose this collectively as a society. Since the dawn of civilization, human beings have strived for better life and convenience and ease of everyday burdens. We come up with solutions that sometimes take time to be accepted and widely used, but once that time comes we take them for granted. Like hot water. Barcodes are maybe not at that level yet (hot water levels) but their wide use is undeniable.
We see them everywhere, from the expected retail barcode on your favorite product, the gear part deep inside your complicated machine, the promo campaign of a beer company to the QR code proudly posted on a youtube or twitch stream.
In many applications involving barcodes, damaged codes are common—especially in the logistics industry, where they play a crucial role, but also in manufacturing and sometimes retail.
The challenging and often harsh transportation environment frequently leads to damaged barcodes. During the shipping and handling process, packages are subjected to various stressors such as rough handling, exposure to extreme temperatures, moisture, and physical impacts. These conditions can cause wear and tear on the barcodes, resulting in scratches, smudges, or partial obliteration. Additionally, the constant movement and vibration during transit can contribute to the degradation of barcode quality, making them increasingly difficult to scan accurately.
Types of damage
Damaged barcodes are a prevalent issue that occurs with greater frequency than one might anticipate. This pervasive problem affects various industries and sectors, causing significant challenges in data capture and inventory management. The ubiquity of damaged barcodes stems from a multitude of factors, including environmental conditions, handling practices, and the inherent vulnerabilities of barcode printing technologies. As businesses increasingly rely on barcode systems for efficient operations, the impact of damaged barcodes becomes more pronounced, underscoring the need for robust solutions and advanced scanning technologies.
These damages can manifest in various forms, each presenting unique challenges for barcode scanners:
- Scrambled barcodes: Where the lines and spaces are distorted or mixed up, making it difficult for standard scanners to interpret the code accurately.
- Barcodes with reflections: Glossy surfaces or protective coverings can create reflective areas on the barcode, interfering with the scanner's ability to read the code properly.
- Heavily blurred barcodes: Often resulting from movement during printing or exposure to moisture, these barcodes lack the sharp contrast needed for easy scanning.
- Misshaped barcodes: Physical damage or poor printing can lead to barcodes that are stretched, compressed, or otherwise deformed from their original shape.
- Partially obscured barcodes: Dirt, scratches, or tears can cover parts of the barcode, leaving only a portion of the original code visible.
- Faded barcodes: Exposure to sunlight or harsh chemicals can cause the barcode to fade over time, reducing its contrast and readability.
Each of these damage types poses a unique challenge to barcode scanners, highlighting the need for advanced scanning technologies capable of reading and interpreting damaged codes accurately. This crucial aspect is frequently overlooked during the decision-making process for barcode scanner selection. Unfortunately, the significance of this oversight often becomes apparent only after the system has been fully implemented and operational for some time. At that point, users may experience considerable frustration and disappointment upon realizing that their chosen scanner struggles with damaged or imperfect barcodes. What makes this situation particularly challenging is the fact that once a barcode scanning system is in place and integrated into existing workflows, it can be both time-consuming and costly to reconsider the choice and implement a different solution.
This underscores the importance of thoroughly evaluating a scanner's ability to handle damaged barcodes from the outset, as it can save significant resources and prevent operational setbacks in the long run.
Here are some samples of barcodes that have clearly been through the worst. Some of them severely damaged, others just slightly, but all of them in the “poor quality” category.
Blurred samples
Deformed samples
Solutions
So, which barcode scanner SDKs on the market can read damaged barcodes in 2024?
As evident from the images shared - or at least most of them - we've scanned these barcodes using our own app, available on both major platforms: iOS and Android.
Naturally, we're promoting the barKoder barcode scanner as your go-to solution.
While reading rate and accuracy are crucial metrics for measuring performance, the ability to scan damaged, low-resolution, and blurred barcode samples is equally - if not more - important. An average scanner can typically handle 90% of samples, but the remaining 10% often comprise damaged or distorted barcodes that challenge many scanners. It's these tricky samples that truly put a scanner's capabilities to the test.
Blurred Barcodes
So how would one go about to test this particular feature on the barKoder barcode scanner?
Well for blurred barcodes we use a feature that the barKoder barcode scanner SDK provides called deblur mode. This allows the user to scan heavily blurred barcodes.
1D Retail
To test the deblur feature, navigate to the 1D Retail Template in the demo app. Locate the 1D retail option and tap it.
If you're scanning retail barcodes, particularly EAN / UPC, you can experience this feature firsthand. While it won't affect Code 128 barcodes, it significantly enhances the scanning of "true" retail barcodes from the EAN and UPC families.
When dealing with blurred UPC/EAN barcodes, it might be even more beneficial to disable Segment Decoding. This approach could potentially squeeze out even more performance from the scanner specifically for the Blurred Barcodes.
Segment decoding - misshaped
With deformed codes, we take advantage from another feature offered by the barKoder barcode scanner SDK, Segment Decoding. We did mention this feature in the blurred barcodes, as it does relate to some barcodes there, but it truly shines when it comes to decoding code 39 and code 128 barcodes, which are not part of the “Retail” family of barcodes.
Misshaped
To test scanning misshaped barcodes the best place to start is with the Misshaped in the demo app. Find the icon within the demo app and tap it.
This mode is designed for misshaped barcodes and automatically applies the optimal settings for their detection.
The settings section of the misshaped template is displayed on the right. It's worth noting that this screen doesn't contain any special features. We don't include toggles to disable misshaped barcode detection in this mode, as it's the primary focus and sole purpose of this demonstration.
To help you get started with testing, we offer a comprehensive sheet showcasing various misshaped barcodes. You can access this testing sheet here. It should provide ample examples to begin your testing process.
We provide a testing sheet that showcases many of these barcodes which you can find here. This sheet should be enough to start you up with testing.
Damaged 2D barcodes
Some of these samples include 2D barcodes, like an occasional QR or a DataMatrix barcode. We haven't focused (with images) on these barcodes even though there's a bunch of examples within the testing sheet. However, these samples are very important and, you guessed it, we have a mode for scanning them too. By using the Matrix Sight feature we can scan a lot of these damaged barcodes, some of the missing even all starting patterns or finder patterns.
All 2D Codes
The Matrix Sight feature comes enabled by default, so there is really no setting to enable it. However to trully test it, one can go to All 2d Codes
The settings screen of the All 2D codes has nothing special regarding the MatrixSight feature, but you could find “Continuous Scanning” interesting as a setting to try with 2d.
Our SDK supports these features for all platforms. This includes: Android, iOS, WASM, but also Flutter, Cordova, React, Capacitor, NativeScript and last but not least Maui.
Deblur in action
Finally, check out our video showcasing the scanning of these blurred samples. It demonstrates the "Continuous scanning" setting with a 1-second delay, allowing the scanner to operate continuously, resuming after each successful scan.