QR Code Error Correction Explained: L, M, Q, and H

What Do L, M, Q, and H Mean in QR Code Error Correction?

NG QRCode10 min read
QR code error correction levels L, M, Q, and H with their approximate restoration percentages

QR codes are designed to remain readable even when part of the code becomes dirty, damaged, or obscured.

This is possible because QR Codes use error correction.

There are four QR code error correction levels:

These percentages describe the approximate amount of codewords that can be restored, not the percentage of the QR code image that you can safely cover with a logo or artwork.

For standard QR codes, Level M is commonly used, while higher levels can be useful when the QR code needs to tolerate more potential damage or interference.

What Is QR Code Error Correction?

QR code error correction is a built-in mechanism that allows encoded information to be recovered when part of a QR code is damaged or obscured.

QR Codes use Reed-Solomon error correction to add additional information to the original data. This additional information helps the QR code recover data when some of the symbol is no longer readable.

For example, a QR code might become partially damaged because of:

Error correction can improve the QR code's ability to handle these situations.

However, error correction does not make a badly designed QR code automatically scannable.

Contrast, size, quiet zone, distortion, and the overall design still matter.

What Are the Four QR Code Error Correction Levels?

QR Codes provide four error correction levels: L, M, Q, and H.

LevelApprox. restoration capabilityTypical consideration
L7%Clean environments, more data capacity
M15%General-purpose use
Q25%More demanding environments
H30%Higher tolerance for damage/interference

These percentages refer to codewords, not a percentage of the visible QR image that can simply be removed or covered.

Let's look at each level.

QR Code Error Correction Level L

Level L provides approximately 7% error correction.

It provides the lowest error correction capability of the four levels.

It can be appropriate when the QR code is being used in a relatively clean environment and you want to preserve more capacity for encoded data.

For example, a clean digital QR code displayed on a website may not need the same error correction level as a QR code printed on a product that will be handled frequently.

Best suited for:

QR Code Error Correction Level M

Level M provides approximately 15% error correction.

This is a common general-purpose choice. DENSO WAVE notes that Level M is selected most frequently in typical use.

For many everyday QR code applications, M provides a practical balance between error correction and QR code size/data capacity.

Best suited for:

QR Code Error Correction Level Q

Level Q provides approximately 25% error correction.

It provides more recovery capability than L or M.

This can be useful when the QR code is exposed to environments where dirt, damage, or other interference is more likely.

DENSO WAVE gives factory environments as an example where Q or H may be appropriate.

Best suited for:

QR Code Error Correction Level H

Level H provides approximately 30% error correction.

It provides the highest error correction capability available in a standard QR Code.

This can be useful when the QR code needs greater tolerance for damage or visual interference.

However, choosing H does not mean you can freely cover 30% of the QR code with a logo.

That's a common misunderstanding.

The 30% figure relates to codeword restoration, not a guaranteed safe logo or artwork area.

Best suited for:

Does Higher Error Correction Make a QR Code Better?

Not necessarily.

Higher error correction provides greater recovery capability, but it also adds more data to the QR code and can increase the QR code's size/density. DENSO WAVE specifically notes that increasing the error correction level increases error correction capability while also increasing the amount of data in the QR Code.

So the goal isn't simply:

“Always use H.”

Instead, choose the level based on the environment, design, and intended use.

A simple QR code in a clean environment may not need H.

A QR code exposed to dirt, wear, or certain design interference may benefit from a higher level.

Does Error Correction Mean I Can Cover Part of a QR Code?

This is one of the most important things to understand.

No.

If you choose H, you cannot simply cover 30% of the visible QR code with a logo and assume it will scan.

The error correction percentage refers to codewords, not the percentage of the image that can safely be covered.

QR codes also contain functional structures that scanners use to locate and interpret the code.

This is why logo placement matters.

For example, covering one of the large finder patterns in the corner can cause problems even if the total covered area appears relatively small.

If you're adding a logo, keep it away from the important corner patterns and test the finished QR code.

There isn't one universal answer.

A QR code with a logo introduces additional visual interference, so error correction becomes one consideration when designing it.

A practical approach is:

  1. Keep the logo relatively small.
  2. Place it near the centre.
  3. Avoid the three large corner finder patterns.
  4. Maintain strong contrast.
  5. Choose an appropriate error correction level.
  6. Test the finished QR code.

Our guide on QR code logo size covers this in more detail.

Most importantly, don't use error correction as an excuse to make the logo larger than necessary.

Which QR Code Error Correction Level Should You Use for Artistic QR Codes?

Artistic QR codes require more attention because the visual treatment can be much more complex than a traditional QR code.

If you're using:

then the final QR code should be tested carefully.

A higher error correction level may provide additional tolerance, but it doesn't guarantee scannability.

An artistic QR code can still fail because of:

This is why artistic QR code design should balance creativity, structure, and scanning reliability.

For more on this, see our guide to QR code design.

What Error Correction Level Should I Use for Printing?

The right level depends on the printing environment.

Consider where the QR code will be used.

A standard level such as M can be appropriate for a clean, controlled application.

M or a higher level may be considered depending on the design and environment.

Consider the material, handling, printing quality, viewing distance, and likelihood of damage.

Higher error correction may be useful when the QR code could experience dirt, wear, or environmental exposure.

Consider the amount of visual interference and test the final design rather than relying only on the selected error correction level.

There is no single level that is correct for every printed QR code.

Does Higher Error Correction Make a QR Code Bigger?

It can affect the QR code's size and density.

DENSO WAVE explains that increasing the error correction level increases the amount of data in the QR Code.

This means you should consider error correction together with:

A QR code isn't just an image. Its physical implementation matters.

QR Code Error Correction vs QR Code Size

Error correction and physical size solve different problems.

Error correction helps the QR code recover information when part of its symbol is damaged or obscured.

Physical size determines how large the QR modules appear to the scanner.

A QR code with high error correction isn't automatically readable when printed extremely small.

Likewise, making a QR code physically large doesn't compensate for poor contrast or excessive visual interference.

You need to consider both.

How to Choose the Right QR Code Error Correction Level

Use this simple decision process:

Step 1: Where will the QR code be used?

Is it:

Step 2: How much interference will it experience?

Consider:

Step 3: Consider the QR code's data

More encoded data can result in a denser QR pattern.

Step 4: Choose an appropriate error correction level

Use L, M, Q, or H according to the application rather than automatically choosing the highest level.

Step 5: Test the final QR code

This is the most important step.

Scan the actual final version using multiple phones and, for printed applications, test the printed version.

QR Code Error Correction: Quick Reference

If you need a quick reference:

L — 7%

Lowest error correction. Useful for relatively clean environments.

M — 15%

General-purpose option and commonly used.

Q — 25%

Higher error correction for more demanding conditions.

H — 30%

Highest standard QR Code error correction level.

These figures represent approximate restoration of codewords. They do not represent the percentage of the QR image that can safely be covered.

Frequently Asked Questions

What is QR code error correction?

QR code error correction allows encoded information to be recovered when part of a QR code becomes damaged, dirty, or obscured. QR Codes use Reed-Solomon error correction.

What are the four QR code error correction levels?

The four levels are L, M, Q, and H, providing approximately 7%, 15%, 25%, and 30% codeword restoration respectively.

Which QR code error correction level is best?

There is no single best level for every application. The appropriate choice depends on the operating environment, QR code size, encoded data, and design.

Is QR code error correction the same as logo tolerance?

No. Error correction helps recover data, but its percentage should not be interpreted as the percentage of the QR image that can safely be covered by a logo.

Should I always use QR code error correction H?

No. H provides the highest standard error correction, but higher error correction also affects the amount of data in the QR Code. The appropriate level depends on the application.

Does higher QR error correction make it easier to scan?

It can make the QR code more tolerant of certain types of damage or interference, but it does not fix problems such as poor contrast, excessive distortion, insufficient size, or a missing quiet zone.

What QR error correction should I use for an artistic QR code?

Choose based on the design and intended environment, then test the final QR code. Higher error correction can provide additional tolerance, but it doesn't guarantee that an artistic QR code will scan.

Create QR Codes Designed to Get Noticed

QR code error correction is one part of creating a reliable QR code.

When you're creating a branded or artistic QR code, you also need to consider contrast, size, quiet zone, logo placement, design complexity, and real-world testing.

NG QRCode lets you create artistic QR codes designed around your brand, campaign, or visual concept while keeping scanning at the centre of the design.

Create an artistic QR code that gets noticed — and gets scanned.

Back to all articles