While QR codes are not revolutionary, they have become subtly integrated into our daily lives, often without us even realizing it. They are especially prevalent in restaurants where I live. You’ll usually see a QR code instead of a traditional menu. Once scanned with your phone, it will direct you to the restaurant’s website where you can view the menu, daily specials, seasonal items and the latest prices. This eliminates the need to constantly update printed menus.
In this article, I will delve into the technical aspects of QR codes. I briefly covered what they are and their history, but the main focus is understanding the meaning behind these little dots. We’ll explore the following questions: Is there a specific format? How are they created? Do different parts of the square contain different information? Are there any bugfixes? So if you want to know more, let us dive in.
What is a two-dimensional code?
Kris Carlon / Android Authority
QR code, or Quick Response Code, is a two-dimensional matrix barcode invented by Japanese company Denso Wave in 1994 to mark automotive parts. Unlike barcodes, which only store data horizontally, QR codes can store data both horizontally and vertically. They can store a variety of information, including text, URLs, phone numbers, email addresses, and Wi-Fi network information. However, at their core they store text. For example, a phone number is stored as “tel:” followed by the number (for example, “tel:0123456789”), and Wi-Fi information is stored as “Wi-Fi:” followed by the SSID and password (for example, “tel:0123456789”). For example, “WIFI:S:MySSID;T:WPA;P:passw0rd”).
QR code points, shapes and structure
QR codes come in different sizes. The original version is a 21×21 lattice, can store up to 17 characters of UTF-8 unencoded text, and has a low error correction rate. However, they go up to version 40, which is a 177×177 matrix that can store nearly 3k of UTF-8 text.
Andy Walker/Android Authority
Let us examine the structure of QR code to understand its technical details. As shown in the image above, a QR code has eight different areas. A description of each can be found below.
- Finder mode: The first is the viewfinder pattern, which consists of three 3×3 squares located in the upper left, upper right and lower left corners. These squares help orient the QR code.
- Separator: One-pixel width separators ensure that the viewfinder pattern does not mix with the actual data.
- Timing mode: This area helps the camera software determine the size of the pixels.
- Alignment mode: The fourth area helps the decoder software correct image distortion.
- Format information: The fifth area, coded in blue, provides information about the data types and error correction in the QR code.
- data: The sixth area of the QR code is the largest. This is where the actual data is stored in 8-bit portions.
- Correction: The seventh area contains correction codes, which are redundant data that compensate for any corruption in the data.
- Remainder digits: The 8th area is used for padding when the data does not fit into 8 blocks.
How to correct errors in QR codes?
QR codes use Reed Solomon codes for error correction – the same method used on CDs, DVDs and Blu-ray discs – and can recover 7 to 30 percent of corrupted data. However, the more error correction used, the less space there is for actual data. Therefore, there is a trade-off between the amount of data to be stored and the amount of error correction required.
The error correction method allows QR codes to function even if you add images and logos, making them incredibly versatile. They can be used on business cards, in restaurants, and even to share Wi-Fi information with guests.
How to create a QR code
Andy Walker/Android Authority
you can use it share Menu for creating QR codes for websites on Android or iOS.
- Open the website you want to create a QR code for in your browser.
- Click the three-dot button.
- choose share.
- choose QR code.
- Download the QR code. Once downloaded, it can be shared with others.
This method should work on all major browsers on Google and Apple mobile platforms.