A 2007 overview of matrix barcodes

Kragen Javier Sitaker, 2007 to 2009 (2 minutes)

There are a bunch of 2-D barcode systems, with varying capacities.

PDF-417 is one of the older and better-known systems. It can handle up to 1108 bytes of binary data, and there are GPL PDF417 encoders and decoders --- http://www.totalshareware.com/ASP/detail_view.asp?application=41548 is “Grandzebu”’s Windows XP version, and then there’s http://sourceforge.net/projects/pdf417encode/ “pdf417_encode” by “jtlien”. There’s a “pdf417decode” as well at http://dataconv.org/apps_barcode.html the “ooosawaddee3pdf417” homepage --- this is a very slightly modified version of Ian Goldberg’s 1997 decoder from http://www.isaac.cs.berkeley.edu/tools/pdf417-1.0.tar.gz --- unfortunately that software does not have a free license, or any explicit license, actually. There’s a SourceForge project at sf.net/projects/pdf417decode which claims to be GPL but seems to be the same unlicensed code, plus a bunch of new code to support error correction. There’s a reasonably nice description of how PDF-417 works at http://grandzebu.net/index.php?page=/informatique/codbar-en/pdf417.htm.

DataMatrix/Semacode is a higher-capacity 2-D barcode, with up to 1556 bytes; I don’t know if it’s patent-safe. There’s a GPL decoder in C# at http://datamatrixdec.berlios.de/index.php/Main_Page with a couple of releases from late 2006.

QR Code is the highest-capacity 2-D barcode in common use, with up to 2953 bytes (when it’s 177x177 pixels); with gzip -9, that’s enough space to encode the Project Gutenberg version of Genesis up to Genesis 3:5, 1624 words. Denso-Wave has promised not to enforce its patents against it. There seems to be a lot of activity around it lately, especially in Japan. There’s a GPL decoder in Java at http://qrcode.sourceforge.jp/ or http://sourceforge.jp/projects/qrcode/ --- ThoughtWorks’s .NET library doesn’t seem to be free software. QR code is JIS-X-0510 and ISO/IEC18004. There’s a comprehensive introduction at http://www.denso-wave.com/qrcode/qrfeature-e.html and an occasionally-updated blog in Japanese at http://www.qrcodeblog.com/.

Topics