QR codes and 2D barcodes
by Chris Woodford. Last updated: October 11, 2019.
From buying groceries to tracking a UPS delivery,
our lives easier in all kinds of ways—but they've been doing so now for
decades. Originally patented in the 1940s, barcodes were commercially tested in the
1960s and gradually became ubiquitous in the 1980s. The basic idea
has barely changed in all that time: just like in the 1960s, a
barcode is still a zebra pattern of stripes with numbers written
underneath that needs a special scanning device to decode it. But all
that could change soon as the 2D barcode—a kind of
second-generation barcode technology—slowly takes over. Let's take
a closer look at how it works!
Photo: Do-it-yourself postal systems, such as Royal Mail's SmartStamp® (in the UK) and Deutsche Post's Stampit (in Germany), let you print your own franking labels on parcels without the bother of going to a post office. They print a 2D barcode on the postage label to validate it and protect against fraud. The code is read and checked when the mail passes through automated sorting equipment. This is an example of a data-matrix code made from four separate segments.
What are 2D barcodes?
You might have already noticed odd black-and-white squares appearing on your parcels, letters, utility
bills, T-shirts, product packaging, and in all kinds of other places—
a bit like mini crossword puzzles without any letters. They're
called two-dimensional (2D) barcodes
and, just like ordinary barcodes, they're
machine-readable so they can quickly pass on information about
a product in the blink of an electronic eye.
Where a barcode presents a string of information as a one-dimensional
line of black and white bars, a 2D barcode packs a lot more
information into a grid of black and white, square-shaped dots.
Photo: It's a great idea to turn your website address (URL) into a QR Code® and put it on all
your promotional material—from advertisments and leaflets to T-shirts and delivery vans. Here's a QR Code being used
to good effect on a promotional leaflet from the Swanage Railway. If I want to find out more, all I have to do is point
my cellphone at the leaflet and click. Be careful how you print the code: although there's some tolerance for bad printing,
it still needs to be printed reasonably clearly and accurately or it won't work. So crisp laser printing is fine, but
smudgy inkjet prints probably aren't. Always test the final, printed code with a QR Code reader to make sure it takes you where it should!
What are the advantages of 2D barcodes?
If we already have barcodes, why do need something else as well?
2D barcodes are a step further, with lots of advantages:
- More information: A barcode is just a short line of black and
white bars so it can't contain much information: typically just a
dozen digits or so—enough to identify a box of cornflakes to a
grocery store checkout, but not much more. You can't add extra information to a
barcode without making it longer and more unwieldy. By contrast, a
2D barcode is a square of information running in two
directions so it can efficiently pack more information into the same
space. A typical 2D barcode can represent up to about 2000 characters of information.
- Fewer errors: Barcodes hold so little information that
there is very little redundancy. Apart from
the length of the bars (which effectively repeat the barcode's
information in the vertical direction), there is no duplication of
information to guard against a code being misprinted or damaged
(such as when a grocery box becomes torn in the store or a parcel label smudges in the rain). But the
higher capacity of 2D barcodes means they can hold the same
information in different ways with sophisticated, built-in error checking systems.
If a code is damaged, that's easy to detect—and it may still be
possible to read some or all of the code.
- Easier to read: 2D barcodes can be read by
smartphones and tablet computers using their built-in digital cameras. No special reading equipment is needed. Even though they contain more information, they can be read accurately at high speeds.
- Easy to transmit: 2D barcodes can be sent as SMS text
messages between cellphones.
- More secure: It's possible to encrypt the information in 2D barcodes to protect it.
What are the different kinds of 2D barcode technology?
Artwork: Five examples of this website's URL encoded wholly or partly in
different 2D barcodes: 1) QR Code 2) Aztec code 3) MaxiCode 4) Micro QR Code 5) PDF417.
To an untrained eye, 2D barcodes all look much the same.
Look more closely, though, and you'll see they do vary quite a bit.
There are actually several different types of 2D barcode, some
available in the public domain and some that are still proprietary.
Here are some of the best known (though there are literally dozens of others):
QR Code® (pioneered in the 1990s by
Japanese company Denso-Wave), which has several variations, including Micro QR Code (a smaller version
that carries less information), iQR Code (which can hold a lot more information),
SQRC (which can carry secure, encrypted data),
and FrameQR (like a traditional QR Code but with a recognizable image on top to make it easier for humans
- Aztec code (developed by Welch Allyn and recognizable by a distinctive square "bulls-eye" pattern in the
- MaxiCode (used by the US postal service, and featuring a round "bulls-eye" center)
- PDF417, which is more like a traditional
barcode, but with data that extends vertically as well as horizontally
"Data-matrix code" is the name of the international (ISO) standards covering 2D barcodes, but not all 2D barcodes comply with them (Semacode does; QR codes and Aztec codes are slightly different).
What information does a QR code contain?
By their very nature, QR codes (and other data matrix codes) are meant to be read by machines, not humans, so there's only a certain
amount we can tell just by looking at them. Although each code is different, they contain a few interesting, common features. Looking again at the explainthatstuff.com QR code up above, we have:
Artwork: Above: Some of the key features in a QR code. Below: Features like this ensure a code can be read at high speed even when it's viewed at an angle, smudged, printed on a curved surface, or distorted in various other ways.
- Quiet zone: An empty white border that makes it possible to isolate the code from among other printed information (for example, on a dirty envelope, among the black and white print of a newspaper, or on smudged product packaging).
- Finder patterns: Large black and white squares in three of the corners make it easy to confirm that this is a QR code (and not, say, an Aztec code). Since there are only three of them, it's immediately obvious which way up the code is and which angle it's pointing at (unless the code is partly obscured or damaged in some way).
- Alignment pattern: This ensures the code can be deciphered even if it's distorted (viewed at an angle, printed on a curved surface, and so on).
- Timing pattern: This runs horizontally and vertically between the three finder patterns and consists of alternate black and white squares. The timing pattern makes it easy to identify the individual data cells within a QR code and is especially useful when the code is damaged or distorted.
- Version information: There are various different versions of the QR code standard; the version information (positioned near two of the finder patterns) simply identifies which one is being used in a particular code.
- Data cells: Each individual black or white square that's not part of one of the standard features (the timing, alignment, and other patterns) contains some of the actual data in the code.
There are a number of other features and complications that I won't go into here; if you'd like more detail, you'll find it by looking at these two excellent references:
- QR Code Tutorial: A very good explanation of how a QR code works, in theory and practice. Includes detailed examples showing how QR codes encode actual binary data.
- QR Code by Tan Jin Soon, EPCglobal Singapore Council. Synthesis Journal, 2008. A longer explanation of QR codes and an excellent review of some typical applications [PDF format, via the Wayback Machine].
What is 2D barcode technology used for?
Photo: Using an iPhone as a mobile airline boarding pass. This is an app called MeeTicket that lets you store and display airline boarding passes from different airlines.
Photo: Paper bus tickets are now starting to use QR codes to reduce fraud. This is a one-day ticket giving unlimited travel. Previously, you would have just shown your ticket to the driver, who simply glanced, nodded, and waved you through; it was quite easy for people to use old or fake tickets. With an embedded QR code, the ticket is validated by an optical reader, so the risk of fraud is greatly reduced.
The American space agency NASA was one of the earliest organizations to make widespread use of data matrix codes, in the mid-1980s:
it engraved them onto parts from space rockets, such as the Space Shuttle,
because they didn't come off, like paper labels, and could store so much more information.
You can put a 2D barcode anywhere you can put a barcode
(software for generating codes is easy to find online) and use it in
very similar ways for tracking and tracing all kinds of objects.
Cellphones with built-in 2D barcode readers are leading to other,
more exciting applications. Advertisers who want you to find out more
about their products online simply print a 2D barcode in the
corner of their ads. Just point your cellphone at the code, scan it
in, and your phone browser will automatically read the code, decode
the Web address of the advertiser's site, and take you there
instantly—no need to type in a tedious URL (website address) or anything like that.
It's especially convenient for billboards, posters, and other ads you
catch site of while you're on the move.
Transportation is another increasingly popular application. Numerous airline, railroad and bus companies
let you buy travel tickets online in advance through an easy-to-use app and store them on your cellphone.
Your phone displays the details on its screen as a 2D barcode code, which becomes
your electronic ticket; at the check-in-desk or onboard your bus or train, you just wave your phone
past a scanner to validate your journey. The big drawback here is obviously the risk of your phone running
out of power, so make sure you charge it up before you depart.
How can you make a QR code?
There are lots of online generators that will do it for you. The Bing search engine has a really neat one that shows you the QR code forming as you type, so you can get a sense of how a QR code is built from the information it contains, how adding more information changes the pattern, and how a code that contains more information generally leads to a more visually intricate pattern.Try it for yourself!
Artwork: Bing's built-in QR code generator shows how the code changes as you add more information.
Find out more
Photo: A data matrix code engraved onto a Space Shuttle part. Photo courtesy of NASA.
On this website
- Heinz QR porn code too saucy for ketchup customer: BBC News, June 19, 2015. A QR code accidentally sends customers to the wrong website, illustrating the dangers of printed codes that get out of date.
- Somerset cemeteries approved for interactive QR code graves: BBC News, February 19, 2015. An imaginative scheme prints QR codes onto gravestones so they can be linked to detailed online obituaries.
- Fujitsu Forges Li-Fi-like QR Code Replacement by John Boyd. IEEE Spectrum, December 3, 2014. Are QR Codes already obsolete? Fujitsu thinks codes embedded in reflected LED light offer a better long-term solution.
- Small Company Figures Out QR Codes, and Sells Beer by Melinda F. Emerson. The New York Times, November 16, 2012. How 50 Back beer used QR Codes on marketing literature to help drive sales of its beer.
- How charities can use QR codes by Lindsay Butler. The Guardian, May 30, 2012. Are QR codes a way to improve charity donations?
- Where's the Reception? Scan This by Courtney Rubin. The New York Times, February 10, 2012. Wedding invitations can add extra up-to-date details using simple QR Codes.
There's much more technical detail about how data-matrix codes and readers work in the following patents:
- US Patent 4,263,504: High-density matrix code by Jacob Thomas, NCR Corporation. April 21, 1981. Describes an early two-dimensional data matrix code using dot patterns.
- US Patent 4,939,354: Dynamically variable machine readable binary code and method for reading and producing thereof by Dennis G. Priddy et al, Datacode International Inc. July 3, 1990. A detailed description of a 2D barcode system.
- US Patent US 2010/0133341 A1: Method for identifying a machine-readable code applied to a postal item and method for providing the postal item with the machine-readable code by Bernd Meyer et al, Deutsche Post AG. June 3, 2010. Describes a system for identifying data-matrix codes on postal envelopes.
- QR Codes in the wild: A Flickr photo album where people share pictures of codes they've spotted cropping up in all kinds of everyday places.