Here’s how all QR codes are unique: QR codes donโt have to be unique, and apps that generate them have no idea whether any code is unique or not.
QR codes are simply a different way of writing information, and the only way to have a unique code is to describe unique information with the code.
Many QR codes are repeated, and itโs fine. So if you want to learn all about how QR codes work exactly and how they are unique, then this article is for you. Let’s jump right in!
What Is a QR Code?
Weโre going to go pretty deep down the rabbit hole today, so I want to start at the surface with a very basic understanding of QR codes. As the name implies, they are codes.
A QR code represents a specific set of information that is easily read by a computer system that understands the QR code language.
To put it in other terms, a QR code is a picture made of dots and spaces that can represent fairly complex information.
In most cases, they are used to represent websites. So, you can scan a QR code, and then your phone can instantly open up the represented website. That website can then hold a ton of information, and in this way, QR codes are really just used for rapid digital communication.
Of course, thereโs a lot more going on under the surface, and if you really want to understand how the codes are unique, weโll have to get into those mechanics.
How Do QR Codes Work?
So, letโs take a closer look at how the codes actually work.
You can kind of think of QR codes as their own language.
Theyโre actually more complicated than that, and Iโll get into why in the next section, but this is a good place to start.
Think about translating something from French to German. You can do it, but you need to understand both languages to make it work. You can more or less substitute the German words for the French words in a sentence, and when youโre done, the new German sentence should have the same meaning.
But, translating from French to Japanese is a different story.
French and German use the same alphabet, so youโre really just rearranging the symbols to say the same thing in another way. If youโre going to translate French to Kanji (the Japanese symbol-based alphabet), then you arenโt using the same symbols anymore.
You can still do this translation, but itโs a little more complicated. You can think of QR codes as a different kind of Kanji.
The arrangement of dots and spaces means something specific, so as long as you understand the structure of the code, you can literally read the pictures like they are paragraphs.
In fact, thatโs the primary idea. QR codes represent a series of letters and numbers (and symbols, like punctuation). As long as you know the formula, you can translate a sentence into QR and back again.
Reed-Solomon Error Correction
Thatโs the gist of how QR codes work, and that might be satisfying enough for you, but if you really want to get some depth to the whole thing, then we have to talk about error correction. Before, I was using an analogy of translating from one language to another. The thing about that is that translation is actually an imprecise thing.
There are sentences that you can say in English that have no perfect translation in other languages. And, thatโs true no matter which language you are using. There are no perfect translations, in fact, and itโs a challenging prospect for linguists and translators.
QR codes, on the other hand, do have perfect translations, and thatโs because the QR system is built with machine precision.
The codes donโt have meaning in a verbal sense. They arenโt representing ideas as language does. Instead, the codes are representing strict arrangements of the symbols that you can find on a keyboard (which includes letters and numbers).
The QR code is a machine representation, so there isnโt really any room for arguing the meaning. Despite that, there is still a margin of error within QR codes, and thatโs because they are so complicated.
Weโll talk later about just how many unique QR codes you can make, and thatโs only possible because they are built on a complicated system.
Iโm going to try to keep this light on the technical jargon, but QR codes are built for computers, and because of that, they run in a binary system.
What this means is that each QR expression is really expressing a number that is a multiple of the number โ2.โ When a computer creates or reads a QR code, it is ultimately seeing a long series of numbers.
But, expressing dots as numbers, and then as letters, and then as other things as the program might dictate means that a lot of math is happening, and there are actually rounding errors that come up within that math.
And, that brings us to Reed-Solomon Error Correction. This is a pretty deep concept, so Iโm barely going to scratch the surface, but hereโs the gist.
Rounding errors show up in QR codes, and that means that itโs possible for two similar QR codes to generate the same text, if that rounding error isnโt fixed.
Reed-Solomon Error Correction is the algorithm that is used to overcome the rounding error.
It involves some sophisticated math, but ultimately, you can choose from a range of correction options, and that help clean up QR codes.
What ends up happening is that the QR code generator will simply not use code combinations that canโt be separated by the correction factor.
But since different correction factors are available, whoever is designing the QR code system can basically choose how complicated the system really is.
If you want it to run a little faster, then you use a simpler error correction. You lose some possible unique QR codes, but everything is fast and easy.
If itโs more important to be able to express longer or more complicated codes, then youโll need a more complicated error correction, and that can make the app run a little slower.
Summary
To summarize, a QR code is basically its own language, but because itโs digital, a lot of math is involved.
And, that math requires a sophisticated error-correction algorithm to make everything run smoothly. With all of that covered, weโre ready to revisit the original question, and I can supply you with a thorough answer.
How Are All QR Codes Unique?
First of all, QR codes donโt exactly have to be unique. You can have one code that is repeated many times.
Now, every copy of a code will mean the exact same thing, but itโs worth noting that there are good reasons to repeat a code.
As an easy example, a restaurant might want to use a QR code so that patrons can see a digital menu. You can put the exact same QR code on every table, and scanning it will take any patron to the same webpage with the menu.
That said, you might have had something else in mind when you asked this question, and Iโll try to address it.
How is it that each different arrangement of blocks on a QR code can mean something different? Itโs a fair question, but itโs easy to think about in different terms. How can the same set of letters mean a bunch of different things depending on how you arrange them?
The answer is in the question.
It comes down to the arrangement, and QR codes allow for a wide variety of arrangements. Like any language or code, a QR codeโs meaning changes any time you move a single part of the image.
Using our analogy, I can use the same letters to spell โmayโ and โyam,โ but the arrangement of those letters completely changes the wordโs meaning.
Similarly, if you change where the blocks and white spaces are in a QR code, you get a completely different meaning.
Ultimately, you can have a unique QR code for every possible arrangement of blocks and white spaces. Iโll get into the numbers a little later, but suffice it to say that a lot of unique QR codes are possible. But, QR codes run into limits the same way that language does.
If youโre on Twitter, thereโs a character limit that prevents you from typing as much as you want.
QR codes have similar limitsโthere are only so many pixels in each code.
But, that limit doesnโt prevent Twitter from seeing uncountable numbers of unique tweets, and you get the same result with QR codes.
To put this as simply as possible, QR codes are unique because the series of dots and spaces doesnโt match from one code to the next.
In that way, a QR code is essentially just another language you can use to write things.
How Are My Generated QR Codes Unique?
While that explains a lot, it still leaves a missing piece of information.
If you use a QR code generator, you can generate a code for whatever purpose you have in mind. But, you can regenerate the code for that exact same purpose, and the new one will be unique. Let me explain this with an example.
Some smartphones allow you to generate a QR code in order to share information with another smartphone user. For instance, you can have a QR code to share your contact information.
You can create a QR code for your contact information, but then you can recreate it, and the new code will be different from the first version, even though theyโre expressing the exact same contact card (this actually depends on what you use to generate the code, but with some tools, you will get a new, unique code as I described).
Based on everything you have read, that shouldnโt work.
The two QR codes should be identical since theyโre describing the exact same set of information. Hereโs the secret to why they arenโt identical.
The app generating the QR code can give a unique name to the code it is making.
It will usually just be some kind of complicated serial number, but that unique name is included in the overall information included in the QR code.
So, your first code for your contact information had your contact information plus the unique name of the codeโs file.
The second one had a different unique name, and when you translate everything into the QR language, youโll come up with a different code in each case. This is a big part of why you can have a truly unique QR code any time that you want.
As long as the QR code has a unique name, the code generated will also be unique, even if the primary information isnโt.
A Common Misconception
This brings us to a misunderstanding that comes up a lot with QR codes. A lot of people wonder how an app knows that a QR code is unique. That question itself is a misconception.
Your app doesnโt know if your QR code is unique, and it doesnโt need to. The misconception seems to stem from the idea that websites, email addresses, phone numbers, and even physical addresses are all unique.
These are all more or fewer codes that we use to describe a location (whether in the real world or in digital space), and they have to be unique so that we donโt confuse one website or address with another. QR codes are nothing like that.
QR codes are just a visual language.
Theyโre the same as the words and alphabet that Iโm using to write this to you right now, only they use dots and spaces instead of squiggly lines.
Let me put this another way.
A QR code is just another way of writing things.
Asking how a QR code is unique is like asking how a sentence is unique. You donโt really know if a sentence is unique or not, and it doesnโt matter. What matters is that the person reading the sentence can understand it. Thatโs true with QR codes too.
All that matters is that the app you use to read the code can understand the information.
I want to use one more simple example to try to drive this home. Letโs say that you and I use different apps to create a QR code, but we both generate a code that sends people to Google.com. Thatโs it.
Thatโs the whole purpose of this code. Even though weโre using different apps, how QR codes will look identical (assuming weโre using the same QR format)?
In fact, they have to look identical in order to work since theyโre sending users to the same website. This is why it doesnโt matter if a QR code that you generate is unique.
What matters is the information conveyed by the code. One last time for emphasis.
The only way for a QR code to be unique is for it to describe unique information, and thereโs no way any app can know if the information in your code is truly unique or not.
But, for applications where uniqueness is important, the app can add a very complicated name to the QR code, and that extra information is enough to make it so that it is very likely a unique code.
Is There a Limit to How Many Unique QR Codes Can Exist?
The uniqueness of QR codes might make more sense if we get into some of the numbers and technical aspects.
Technically speaking, there is a hard limit to how many unique QR codes can exist, but that limit is so huge that weโll never run out of QR codes.
First off, QR codes have different dot densities.
In other words, some QR codes can fit more dots than others into a single square image. This is kind of like phone numbers. A local phone number has seven digits.
Long-distance numbers have 9 digits, and international numbers have even more. Not all phone numbers have the same numerical density, and not all QR codes have the same dot density.
But, even the most basic QR codes are far more complicated than phone numbers, and that means that there are way more possible combinations.
As an example, QR-40 is one of the more popular QR code formats.
With this format, you can have 2^23624 different unique codes.
Now, thatโs not an intuitive number, so allow me to express it like this.
Itโs more than 10^7,000 different unique codes.
Thatโs a 10 with 7,000 zeros behind it.
Letโs add a little more perspective.
There are roughly 10^80 (10 with 80 zeros behind it) atoms in the universe.
Read that again.
The number of QR codes possible with just QR-40 is beyond astronomical.
And, if you change the dot density at all, then every single code with a different QR code format is unique compared to QR-40. There are so many possibilities that the numbers donโt really make sense anymore. Technically, there are not an infinite number of unique QR codes, but there are so many options that it doesnโt matter. We really will never run out of unique codes.