Guide

QR code error correction levels explained

Every QR code carries spare data so it still reads when part of it is missing. How much spare data is a setting you choose. Here is what the four levels mean and when each one is the right choice.

What error correction is

When a code is created, the content is encoded twice over in a way that lets a scanner rebuild missing pieces. If a corner is torn, a logo covers the middle or glare washes out a strip, the scanner uses the spare data to fill the gap. The trade-off is size: more spare data means more squares in the pattern.

The four levels

  • L recovers about 7% of the code. The smallest pattern for a given content.
  • M recovers about 15%. The generator uses this by default because it balances size and resilience for everyday printing.
  • Q recovers about 25%.
  • H recovers about 30%. The densest pattern, and the one to use with a logo.

The percentages describe how much of the pattern can be unreadable before the scan fails. They are not a promise: a code at level H with a logo covering 25% has very little margin left for dirt or a bad angle.

Which level to pick

  • Plain code, short link, printed at a sensible size: M. Nothing to gain from going higher.
  • Logo in the centre: H, always. The generator suggests it as soon as you add a logo and warns if the logo is still too large.
  • Very long content, such as a vCard with an address or a long text: L or M. Higher levels make an already dense code harder to print small.
  • Rough conditions, such as outdoor signs, stickers on machinery or anything that will get scratched: Q or H, printed larger to make room for the extra squares.

How the level changes the code

The same link at level H can have noticeably more squares than at level L. More squares in the same printed width means smaller squares, which are harder for a camera to separate. So raising the level is only free if you also raise the print size. The print size guide explains how to size a denser code.

Changing the level in the generator

Open the Error level tab under "Make it your own" in the generator. The preview and the size readout update as you switch, so you can see how much denser the code becomes before you download.

Sources

The recovery percentages come from the QR code specification (ISO/IEC 18004). The official QR code reference site notes that level M at 15% is the most commonly chosen and recommends level L for clean environments with large amounts of data and level Q or H where codes get dirty: Error Correction Feature, QRcode.com.

Questions

Common questions

Anything else? Write to us.

What is the best error correction level for a QR code?

M for a plain code. H if the code has a logo. L only when the content is long and the code has to stay small.

Does a higher error correction level make the QR code bigger?

It adds more squares to the pattern. Printed at the same width, the squares get smaller, so a higher level usually needs a larger print.

Can error correction fix a broken link?

No. It repairs damage to the printed pattern, not mistakes in the content. A code with a wrong link scans perfectly and opens the wrong page.

Keep reading

How to create a QR code

How to make a QR code for a link, WiFi, contact card or text, style it without breaking it, test it and print it at the right size. Free, no sign-up.

Read the guide, 6 min

QR code size for printing

What size a printed QR code should be: the minimum size, the distance rule, pixels needed at 300 DPI, and why longer content needs a bigger code.

Read the guide, 5 min

Static vs dynamic QR codes

The difference between static and dynamic QR codes: expiry, editing, scan tracking, cost and privacy, and why a static QR code generator never expires.

Read the guide, 5 min

Why a QR code will not scan

Why a QR code does not scan and how to fix it: low contrast, inverted colors, missing quiet zone, too small, too dense, big logos, glare and broken links.

Read the guide, 6 min

WiFi QR codes that connect first time

How to make a WiFi QR code guests can scan to join your network: getting the name, password and security type right, and fixing codes that do not connect.

Read the guide, 5 min

Adding a logo without breaking the code

How to put a logo in the middle of a QR code and keep it scannable: the error-correction level to use, how big the logo can be, and how to test the result.

Read the guide, 5 min

vCard QR codes for business cards

How to put a contact QR code on a business card: which vCard fields to include, how to format phone numbers, and how small the code can go.

Read the guide, 5 min

QR code colours that still scan

How to choose QR code colours, gradients, shapes, frames and transparent backgrounds that match your brand and still scan on every phone.

Read the guide, 5 min

The quiet zone, and why it matters

What the quiet zone around a QR code is, how wide it should be, and the design mistakes that remove it: cropping, borders, text and busy backgrounds.

Read the guide, 3 min

QR codes for restaurant menus

How to make a QR code menu that works at the table: web page or PDF, table card size, lighting and lamination, and updating the menu without reprinting.

Read the guide, 5 min

QR codes for Airbnb and rental hosts

The QR codes worth printing for a holiday rental: guest WiFi, house manual, check-in and check-out, local tips, and where to place them so they keep working.

Read the guide, 5 min

QR codes on product packaging

How to put a QR code on packaging that still scans: what to link to, minimum size, curved and glossy surfaces, colour contrast and testing a print proof.

Read the guide, 5 min

Make your code now

Free, private, and it never expires.

Open the generator