What is libdmtx?

libdmtx is open source software for reading and writing Data Matrix barcodes on Linux, Unix, OS X, Windows, and mobile devices. At its core libdmtx is a native shared library, allowing C/C++ programs to use its capabilities without extra restrictions or overhead.

The corresponding utility programs, dmtxread and dmtxwrite, provide the official command line interface for libdmtx, and serve as a code reference for programmers wishing to use the libdmtx C API. The core library is distributed under the Simplified BSD license, and all other project software uses the LGPLv2 license.

Data Matrix barcodes are two-dimensional symbols that hold a dense pattern of data with built-in error correction. The Data Matrix symbology (sometimes casually referred as "DataMatrix") was invented and released into the public domain by RVSI Acuity CiMatrix. Wikipedia has a good page on Data Matrix and its characteristics.

Project Status

The current stable version, 0.7.4, introduces big structural changes designed to make libdmtx useful for a wider audience. In practice this involved rewrites for 2 of the 3 major project components: The encoder and the Reed Solomon code.

These changes shouldn't change how libdmtx appears to calling programs, but hopefully the overall project will become more useful to developers who previously couldn't use it for a number of reasons.