QR code error correction rates of 7%, 15%, 25%, and 30% do not indicate how much of the image can be covered while remaining readable. According to QR code developer DENSO WAVE, these figures represent the approximate percentage of total codewords that can be recovered. Selecting level H does not guarantee that a QR code will remain readable if a logo covers 30% of its image.

Error Correction LevelApproximate Recovery Rate Based on Total CodewordsDeveloper's Description of Suitable Conditions
LApproximately 7%When data capacity is a priority in clean environments
MApproximately 15%A commonly used level for general applications
QApproximately 25%Considered for environments where contamination may occur
HApproximately 30%Considered for environments requiring greater data recovery capability

These percentages describe the error correction levels of standard QR codes. They do not assume that the location of contamination, the type of damage, or the condition of structures required for scanning will always be identical.

The small squares that make up a QR code are called modules. A codeword is a unit of encoded data, and each codeword consists of 8 bits. The denominator used to calculate the error correction rate is the total number of codewords, not the image area or the number of black squares.

Even when similarly sized portions of a QR code are obscured, the amount and type of information affected may differ. Therefore, a QR code cannot be guaranteed to scan successfully simply because the covered area is smaller than 30%.

QR codes add recovery information to the original data using Reed–Solomon error correction codes. Increasing the error correction level improves recovery capability, but the additional information also requires storage space. This is why both the amount of data to be stored and the physical size of the QR code must be considered.

Choosing a higher error correction level and fitting a large amount of data into a small QR code are not independent decisions. For a QR code of the same size, the amount of data that can be stored may vary depending on the selected error correction level.

How the 25% Error Correction Rate Is Calculated

DENSO WAVE provides an example in which errors affecting 50 of the original 100 data codewords are corrected. In this example, 100 error correction codewords are added, bringing the total to 200 codewords.

Original data: 100 codewords

Error correction information: 100 codewords

Total: 200 codewords

Codewords to be recovered: 50 codewords

50 ÷ 200 × 100 = 25%.

If only the original 100 data codewords were used as the denominator, the result would appear to be 50%. However, QR code error correction rates are expressed relative to the total number of codewords. This example does not mean that every level Q QR code contains exactly 200 codewords.

Why Error Correction Rates Do Not Guarantee Logo Placement

Codeword recovery capability is not a measurement that determines how much space can safely be occupied by a logo. In addition to encoded data, QR codes contain structures and information required for scanning. Even a high error correction level cannot compensate for every type of damage regardless of where it occurs.

Whether a QR code can actually be scanned must be verified using the finished design under its intended conditions of use. These four percentages alone cannot predict successful scanning on a particular printed material or smartphone.

This article explains the meaning of the recovery rates defined by the QR code developer. It does not provide a method that guarantees successful scanning when logos are inserted or when QR codes are printed or viewed using specific smartphones.

How the 25% Error Correction Rate Is Calculated
Why Error Correction Rates Do Not Guarantee Logo Placement
References