MatrixSight®

MatrixSight®: Damaged Data Matrix and QR Code Scanner SDK

Read Data Matrix, QR and Micro QR codes that are torn, scratched or missing their corners. Most decoders need the finder, timing and alignment patterns to locate a 2D code. MatrixSight doesn't, and it is on by default in the barKoder SDK, with no setting to change.

Smartphone showing the barKoder Data Matrix feature icon Data Matrix feature icon

Test MatrixSight on your damaged 2D codes

Labels degrade in warehouses, on production lines and outdoors. When you compare Data Matrix scanning SDKs, the clean codes tell you little. Bring the damaged ones.

Collect damaged samples

Pick Data Matrix and QR codes that fail today:

  • Torn or cut-off labels
  • Scratched or smudged codes
  • Missing corners or edges
  • Faded print
  • Partially covered codes
  • Direct part marks on metal

Record successful reads and time to result on your target devices and lighting.

Start an SDK trial

Scan them with MatrixSight

  1. Get a trial key and install the SDK for your platform.
  2. Enable the Data Matrix, QR or Micro QR decoder. MatrixSight is on by default, so there is nothing else to turn on.
  3. For codes marked directly into metal or plastic, also enable DPM mode.
  4. No code yet? Use the All 2D Codes template in the free demo app, or read a photo with the free online barcode scanner.
Open the web demo

Why damaged Data Matrix and QR codes fail to scan

2D codes carry fixed patterns that tell a decoder where the symbol is. A QR Code has three square finder patterns in its corners, an alignment pattern and a quiet zone. A Micro QR Code has a single finder pattern.

A Data Matrix code has an L-shaped finder pattern on two sides and timing patterns of alternating modules on the other two. The timing patterns give the module size, the number of rows and columns, and any distortion.

Error correction can repair damaged data, but most decoders first need these patterns to find the symbol. Damage them and the scan fails. MatrixSight locates and reads 2D codes without them.

Data Matrix code with its L-shaped finder pattern and timing patterns highlighted
A complete Data Matrix code with its finder and timing patterns

Damaged Data Matrix codes MatrixSight reads

MatrixSight tolerates up to three completely missing rows or columns on any side of a Data Matrix code larger than 48 modules, and up to two on smaller codes. In barKoder's published test of 29 blurred, damaged and aged Data Matrix codes, barKoder had the highest score of the SDKs tested, 89.66%.

Data Matrix code with missing timing modules and slight finder damage
Advanced decodersMissing timing modules, slight finder damageOnly the most advanced decoders still read it.
Data Matrix code missing its finder pattern
A few decodersFinder pattern missingOnly a select few decoders, barKoder among them, handle it.
Data Matrix code missing both its top and left timing patterns
barKoderTop and left timing patterns missingRead without any timing pattern.
Data Matrix code missing its finder pattern and both timing patterns
barKoderFinder and both timing patterns missingNo locating pattern left at all.
Data Matrix code missing its finder, both timing patterns, the top row and the right column
barKoderPlus a full row and columnThe top row and right column are cut off as well.
Heavily destroyed Data Matrix code missing all locating elements and parts of its data
barKoderComplete destructionAll critical elements and parts of the data are gone, and it still decodes.
Bring your worst labels Test your own damaged Data Matrix codes with a trial license. Start an SDK trial

Damaged QR codes and Micro QR codes

The best software and hardware scanners can handle one missing or damaged QR finder pattern. With two or more missing, they struggle. MatrixSight keeps reading until the missing part of the code reaches a size that is theoretically unrecoverable.

QR code missing one of its three finder patterns
Best scannersOne finder pattern missingThe limit for the best scanners on the market.
QR code missing two of its three finder patterns
barKoderTwo finder patterns missingWhere other scanners start to fail.
QR code missing all three finder patterns, with only the alignment pattern left
barKoderAll three finder patterns missingOnly the alignment pattern is left.
QR code missing all finder patterns and the alignment pattern
barKoderFinder and alignment patterns missingNo locating patterns at all.
QR code missing all locating patterns with random damage across its data
barKoderPlus random data damageA worst case for other decoders.
QR code with rounded corners and a large hole cut out of its center, like a donut
barKoderDonut-shaped QR codeA custom design a stock scanner can't read, but an app with MatrixSight can.
Micro QR code with its single finder pattern missing
barKoderMicro QR without its finderEven slight damage to the one finder pattern stops almost all scanners.
Micro QR code missing its finder pattern with damaged corners and data
barKoderMicro QR with corner damageFinder gone, corners damaged and random damage in the data.

Add a Data Matrix scanning SDK to your app

MatrixSight works inside the Data Matrix, QR and Micro QR decoders, so you only enable the symbologies you need. This line from the Web SDK docs enables Data Matrix.

Web (WASM)

JavaScript
Barkoder.setEnabledDecoders(Barkoder.constants.Decoders.Datamatrix);

The QR and Micro QR decoders are Barkoder.constants.Decoders.QR and Barkoder.constants.Decoders.QRMicro.

Android (Kotlin)

Kotlin
bkdView.config.decoderConfig.Datamatrix.enabled = true

For marks on metal and plastic, add DPM mode with bkdView.config.decoderConfig.Datamatrix.dpmMode = true.

Setup guides: Android, iOS, Web, Flutter, React Native, Capacitor, Cordova, .NET MAUI and NativeScript. For marked parts, see the DPM mode example.

MatrixSight on every major platform

MatrixSight is built into the Data Matrix, QR and Micro QR decoders and is on by default on Android, iOS, the Web SDK and the cross-platform frameworks.

  • 7 native & desktop SDKs
  • 6 cross-platform integrations
  • One consistent scanning core

Damaged codes in production

Teams that read damaged, low-contrast and direct-marked codes with barKoder.

inexto

Manufacturing and logistics · Switzerland

Replaced Cognexfor DPM track-and-trace on Zebra TC mobile computers

Two track-and-trace projects read DPM Data Matrix, DotCode and QR codes, with support for damaged or blurry codes.

What truly made us choose barKoder was the simplicity of integration and high performance in DPM barcode scanning, outperforming competitors by 40%-50%.Nicolas Schaefer, Head of R&D, inexto
Read the inexto story →

Club Assist

Automotive · .NET MAUI

Replaced Cognexafter its SDK was deprecated

Two battery apps read damaged, low-contrast VIN labels and keep performing in low light.

Read the Club Assist story →

Tenaris

Industrial · Luxembourg · .NET MAUI

Field-provenon phones and tablets, offline

The PipeTracer app suite reads small, low-quality and partially damaged codes in field conditions.

The SDK is robust, easy to maintain, and perfectly suited for industrial applications like ours.David Donayo, Tenaris
Read the Tenaris story →

MatrixSight resources

Try barKoder on your phone or in your browser

Install the free barKoder demo app, or open the web demo, and scan your own barcodes before you integrate the SDK.

iPhone and iPad

barKoder demo app for iOS

Scan with your camera, or point it at the QR code to open the App Store.

Download on the App Store
QR code linking to the barKoder demo app on the App Store

Android phones and tablets

barKoder demo app for Android

Scan with your camera, or point it at the QR code to open Google Play.

Get it on Google Play
QR code linking to the barKoder demo app on Google Play

Any modern browser

barKoder web demo

Runs the Web SDK in your browser, on desktop or mobile, with nothing to install.

Open the web demo
QR code linking to the barKoder web demo

Test with known samples. Print or display the testing sheet and scan each 1D and 2D barcode with the demo app. The data sheet summarizes the SDK for your team.

Damaged Data Matrix scanner questions

Can a damaged QR code still be read?

Often, yes. Most readers fail once two or more of the three finder patterns are damaged. MatrixSight reads QR codes with all three finder patterns and the alignment pattern missing, and with random damage in the data on top.

How much damage can MatrixSight handle?

barKoder's Data Matrix and QR Code guides put it at up to 70% symbol damage. For Data Matrix, MatrixSight tolerates up to three completely missing rows or columns on any side of codes larger than 48 modules, and up to two on smaller ones. Results depend on the code and the image, so test with your own samples.

Do I need to enable MatrixSight?

No. MatrixSight is on by default. Enable the Data Matrix, QR or Micro QR decoder you need and it applies automatically.

Which barcode types does MatrixSight support?

Data Matrix, QR Code and Micro QR. For damaged 1D barcodes, see Segment Decoding, and for PDF417, PDF417-LineSight®.

What is the best SDK for scanning Data Matrix codes?

Judge an SDK on your hardest codes, on the devices your users carry. In barKoder's published comparison of 29 difficult Data Matrix samples, barKoder had the highest score of the SDKs tested. The free 30-day trial for 25 devices lets you repeat the test in your own app.

Can it read DPM Data Matrix codes on metal?

Yes. Turn on DPM mode as well. MatrixSight recovers broken L-shaped finder patterns and missing clocking tracks on direct part marks, and DPM mode is built for low-contrast, dot peen and laser-marked codes.

Can I read a damaged Data Matrix or QR code from an image online?

Yes. The free online barcode scanner reads codes from your camera, a photo or a screenshot in the browser, using the same barKoder engine as the SDK.

Read damaged Data Matrix and QR codes in your app

Test MatrixSight on your own damaged labels with a free 30-day trial for 25 devices, or talk to an SDK expert about your project.